Vector Database Comparison: Pinecone vs Weaviate vs Qdrant vs pgvector vs Milvus
Vector databases are commoditizing fast, but the operational profile still varies enormously. Pinecone leads on managed simplicity, pgvector wins if you already run Postgres, Weaviate and Qdrant compete on features + self-host, Milvus dominates on billion-scale. Pick based on your existing stack, not a benchmark leaderboard.
Last reviewed:
What we're comparing
Managed-only serverless vector DB. Fastest to production, opinionated on architecture, zero ops.
Open-source + managed cloud. GraphQL API, hybrid search, generative modules (RAG built in).
Open-source (Rust) + managed cloud. Strong filtering, quantization support, gRPC API.
Postgres extension. Not a separate system — vectors live alongside relational data.
Open-source, cloud-native, billion-scale. Zilliz Cloud is the managed offering.
Side-by-side
| Attribute | Pinecone | Weaviate | Qdrant | pgvector | Milvus |
|---|---|---|---|---|---|
| Deployment | Managed only | OSS + managed | OSS + managed | Wherever Postgres runs | OSS + Zilliz Cloud |
| Hybrid search (BM25 + vector) | Yes (2024+) | Yes (native) | Yes | With pg_trgm / tsvector | Yes |
| Sweet-spot scale | 1M – 100M vectors | 1M – 500M vectors | 1M – 500M vectors | Up to ~10M vectors comfortably | 100M – 10B+ vectors |
| Metadata filtering perf | Good | Good | Excellent | Excellent (full SQL) | Good |
| Quantization | Native | PQ / BQ / SQ | Scalar / product / binary | HNSW half-precision (0.7+) | IVF / PQ / SQ / Diskann |
| License | Proprietary | BSD-3 | Apache 2.0 | PostgreSQL | Apache 2.0 |
| Ops overhead | None | Medium | Low-medium | Same as your Postgres | High |
| Best for | Ship fast, don't want to run infra | Feature-rich RAG w/ some ops budget | Perf-per-$ with self-host | Already run Postgres, moderate scale | Billion-scale, dedicated team |
When to use which
- Use Pinecone
You want production RAG in a week and are willing to pay for zero ops.
- Use Weaviate
You want more control than Pinecone but not to build custom infrastructure. Their hybrid search and generative modules are strong out-of-box.
- Use Qdrant
Self-hosting with strong perf-per-dollar. Excellent filtering makes it a good fit for metadata-heavy workloads.
- Use pgvector
You already run Postgres and have <10M vectors. Zero new ops surface. Real trade-offs appear above ~10M vectors or with very high QPS.
- Use Milvus
You genuinely have (or credibly project) billion-scale vectors and can run a dedicated data platform team for it.
FAQs
Is pgvector fast enough for production?
Yes for most enterprise RAG. With the HNSW index (pgvector 0.5+) and reasonable hardware, expect sub-100ms latency up to ~10M vectors. Above that, dedicated vector DBs start winning.
Can I use multiple vector DBs?
Common in large orgs: pgvector for internal RAG (embedded in the app database), Pinecone or Qdrant for the customer-facing product surface. The abstractions above (LangChain, LlamaIndex) hide the difference.
Which vector DB does OpenAI / Anthropic use internally?
They do not disclose specifics. Your choice does not track theirs — pick based on your operational profile.