Prompt
What vector DB should I use for millions of embeddings and low latency?
Latest observation
For millions of embeddings and low latency, the best choice depends mostly on your update pattern, filtering needs, and ops tolerance—but here’s the practical shortlist:
Best general-purpose picks
1) Qdrant
- Great balance of latency, scale, and ease of use
- Strong support for metadata filtering
- Good for millions to tens/hundreds of millions of vectors
- Easy to run self-hosted or use managed
Pick Qdrant if: you want a modern, reliable default and expect to use filters often.
2) Pinecone
- Very strong managed option
- Low-latency at scale, minimal ops
- Good for production workloads where you want to avoid infra management
Pick Pinecone if: you want the easiest managed path and are okay with vendor pricing.
3) Weaviate
- Good developer experience
- Strong schema/filtering and hybrid search options
- Solid for production, though performance/ops profile varies by setup
Pick Weaviate if: you want richer search features and a flexible platform.
If latency is the top priority
4) Milvus
- Designed for very large-scale vector search
- Good when you need serious throughput and scale
- More moving parts than Qdrant, but powerful
Pick Milvus if: you anticipate very large scale and can handle more operational complexity.
If you’re already in a search stack
5) Elasticsearch / OpenSearch
- Useful if you need keyword + vector + filters together
- Not usually the best pure vector DB for lowest latency, but convenient
Pick these if: hybrid text + vector retrieval is more important than best-in-class vector latency.
My practical recommendation
If you want a safe default for millions of embeddings with low latency:
- Qdrant if self-hosted or flexible deployment
- Pinecone if fully managed
- Milvus if you expect to grow very large and need scale first
What matters most for low latency
To keep latency low at million-scale, focus on:
- ANN index type (HNSW, IVF, DiskANN depending on engine)
- Metadata filtering efficiency
- Memory usage / quantization
- Top-K size
- Replication and sharding
- Embedding dimension and normalization
Quick rule of thumb
- 1M–50M vectors: Qdrant or Pinecone
- 50M+ vectors / heavy throughput: Milvus or Pinecone
- Need keyword + vector + filters: Weaviate or OpenSearch
- Want simplest ops: Pinecone
If you want, I can give you a recommendation based on your exact constraints:
- vector dimension
- read QPS
- write/update rate
- metadata filters
- cloud vs self-hosted
- budget