The three questions that pick your vector DB:
- Scale. <100K vectors? Anything works. 100M+? Few options handle it well.
- Filtering needs. Need to combine vector search with rich SQL-like filters? Some DBs do this natively, others post-filter (slower).
- Hosting. Managed cloud, self-hosted Kubernetes, embedded library, or "already in Postgres".
The contenders, May 2026
| DB | Hosting | Strength | Watch out |
|---|---|---|---|
| Pinecone | Managed | Lowest-friction managed; serverless tier; good filtering | Cost at scale; vendor lock-in |
| Weaviate | Managed + self-host | Native hybrid (BM25 + dense), modules ecosystem | Heavier ops if self-hosted |
| Qdrant | Managed + self-host (Rust) | Fast, rich filtering, payload search; great self-hosted choice | Smaller ecosystem than Pinecone |
| Milvus / Zilliz | Both | Very high scale (billion-vector), GPU index | Operational complexity |
| Chroma | Embedded / managed | Easiest local dev, Python-native | Not a production-scale DB at >5-10M |
| pgvector (Postgres extension) | Self-host / RDS | Already in your stack; SQL filters trivially | Slower than purpose-built at scale; HNSW added in pgvector 0.5+ |
| FAISS | Library only | Best raw ANN performance, no server | You build the storage / metadata / replication |
| LanceDB | Embedded / cloud | Columnar, good for hybrid analytics + vector | Newer, smaller community |
ANN algorithms
- HNSW — graph-based, current default. Tunable
M(neighbors per node),ef_construction(build time),ef(query time). Higher = better recall, more memory/latency. - IVF + PQ — partition + product quantization. Lower memory, lower recall. Good for >100M vectors.
- DiskANN (Microsoft) — scales to billions on SSD. Used by Pinecone serverless internally.
- ScaNN (Google) — strong recall/speed trade-off; Vertex AI Matching Engine.
Decision rules
- Already on Postgres + corpus < 10M? → pgvector. Don't add a system you don't need.
- Compliance-heavy enterprise + on-prem required? → Qdrant or Weaviate self-hosted. Both have strong ACL / multi-tenant stories.
- Startup, ship fast? → Pinecone serverless or Weaviate Cloud.
- Hybrid search natively? → Weaviate (BM25 + vector in one query) or pgvector with the
tsvectorextension. - Billion-vector scale? → Milvus / Zilliz, or Pinecone Serverless.
What kills you in production
- Index rebuilds — most ANN indices need rebuilds on large updates. Plan for it.
- Metadata filter performance — pre-filter beats post-filter. Verify in your DB.
- Multi-tenancy — namespace per tenant ≠ row-level filters; performance differs hugely. Test at expected QPS.