At booking.com’s scale rendering the product pages requires retrieving data from hundreds of data sources. This causes a very high load to the data backends. We pre-materialize the data required for rendering the product pages in order to scale data access. Different products have different data needs. Over time this led to the materialization layer becoming a monolithic service with a monolithic schema.
This talk focuses on how we leveraged the GraphQL Federation technology to let product teams choose which data to materialize and data owners to scale data access to their data without negatively affecting the ownership, network costs and latencies.