Why Booking.com switched their vector database for better scale

PromptCube Expert 1h ago 91 views 0 likes 2 min read

Scaling vector search for millions of users isn't as simple as picking the most popular library on GitHub. When you're dealing with the kind of traffic Booking.com handles, the "standard" choices often crumble under the weight of real-time updates and high-concurrency queries. The decision process for choosing a new vector database usually comes down to the brutal trade-off between latency, recall accuracy, and the operational nightmare of maintaining an index that doesn't crash when the data grows by 10x.

Most teams start with a simple managed service, but at a certain scale, you hit a wall where the cost-per-query becomes unsustainable or the indexing lag makes the search results irrelevant. For a travel platform, having a "stale" index means showing a hotel that's already fully booked, which kills the user experience.

If you're building a real-world AI workflow, you need to look at these specific technical vectors during your evaluation:

  • Indexing Speed: How fast can the system ingest new embeddings without locking the read queries?
  • Memory Footprint: Does the database require the entire index to be in RAM, or does it support efficient disk-based storage?
  • Recall vs. Latency: At 95% recall, what is the p99 latency? If that spikes during peak traffic, the system is useless.
  • Horizontal Scaling: Can you add nodes without taking the cluster offline for a full re-index?

For anyone looking for a practical tutorial on how to evaluate these systems, I recommend setting up a benchmark using your actual production data distributions rather than synthetic sets. Synthetic benchmarks are lying to you; they don't account for the "long tail" of queries that actually break a system in production.

When implementing a new vector store, the deployment phase is where most people fail. You can't just swap the API endpoint. You need a shadow-testing period where you run the new database in parallel with the old one, comparing the result sets in real-time to ensure the new vector database isn't hallucinating nearest neighbors or missing obvious matches.

If you are starting from scratch, avoid the temptation to over-engineer. Start with a solution that integrates with your existing Kubernetes stack to simplify the deployment. The goal isn't to have the "fastest" database in a vacuum, but the one that provides the most stable LLM agent performance under actual load. Focus on the observability tools—if you can't see why a specific query failed or why the latency spiked, you're flying blind.

MilvusBooking.comQdrantWeaviate
Story tracker · related coverage
Production AI Infrastructure 7d ago

All Replies (4)

C
CameronWizard Advanced 1h ago
Did they mention if they're using HNSW or something else for the indexing?
0 Reply
R
RayTinkerer Novice 1h ago
Ran into similar bottlenecks with Milvus; switching to a managed service saved us weeks of tuning.
0 Reply
A
AlexTinkerer Advanced 1h ago
Wondering if they had to implement a custom caching layer to handle those peak traffic spikes.
0 Reply
B
Blake61 Advanced 1h ago
Probably, though I bet they just leaned on Redis to keep the latency low during those spikes.
0 Reply

Write a Reply

Markdown supported