Building a WebScale Search Engine with a Data Driven Architecture Узкотематические секции: видео, поиск, RTB, биллинги
I have been working on Bookings.com’s hotel availability infrastructure and its core reservation platforms since I joined back in October 2014.I am now mainly concerned with building a Reservation Search Engine, Sherlock, to search though our hundreds of millions of reservations at Booking.com. Sherlock is now receiving > 25K requests per second, and has a very high availability requirement.
When building a Search Engine, generic solutions are mostly the go to tools to use when designing the system. However, at a certain scale, as we have at Booking.com, off the shelf tools can no longer sustain the requirements we need from them. When searching through hundreds of millions of reservations multiple times on every pageview, we had to build a system that not only scales and is highly available, but also a system that can deliver business value by being flexible enough for other developers to attach their business specific logic to.
This talk will focus on how we built that search engine, named Sherlock, and how we scaled it up to receive >20,000 requests per second with latencies below 40ms. We will also address how we hyper-optimized Sherlock for our use case in particular, using our data access patterns and our data models to really build out a system that does only one thing, and does it very well.
By the end of this talk, I hope the audience is able to visualize more how home grown solutions hyper-optimized for one use case, can provide more business value than off the shelf solutions that work for the generic case.