Vector databases are the backbone of semantic search, RAG, and AI-powered recommendation systems. They store embeddings (vector representations of text, images, or audio) and enable fast similarity search — finding the closest vectors to a query. In 2026, the vector database market has consolidated around a few clear leaders. This comparison covers performance, scalability, and pricing for production deployments.
Quick Comparison
| Feature | Pinecone | Weaviate | Qdrant | Milvus | pgvector |
|---|---|---|---|---|---|
| Type | Managed vector DB | Vector DB + knowledge store | Vector search engine | Distributed vector DB | PostgreSQL extension |
| Open Source | No (SaaS only) | Yes (BSD-3) | Yes (Apache 2.0) | Yes (Apache 2.0) | Yes (PostgreSQL License) |
| Self-Hosted | No | Yes (Docker, K8s) | Yes (Docker, K8s) | Yes (Docker, K8s, distributed) | Yes (any PostgreSQL) |
| Index Types | Proprietary (serverless) | HNSW, flat, IVF | HNSW, quantization (scalar/binary) | 11 index types (HNSW, IVF, DiskANN, etc.) | IVFFlat, HNSW |
| Metadata Filtering | Yes (metadata filtering) | Yes (GraphQL + vector hybrid) | Yes (payload filtering, rich query DSL) | Yes (scalar filtering, expressions) | Yes (SQL WHERE + ORDER BY distance) |
| Hybrid Search (dense + sparse) | No (dense only) | Yes (BM25 + vector) | No (dense only, sparse via plugin) | Yes (hybrid search) | Yes (tsvector + pgvector) |
| Max Vectors (single node) | Unlimited (serverless) | ~1B (with quantization) | ~1B | ~10B (distributed) | ~10M (practical), ~100M (with tuning) |
| Query Speed (1M vectors) | 5-20ms | 5-15ms | 2-10ms | 5-20ms | 10-50ms |
| Pricing | $0.10/GB/month + $0.012/1M queries | Free (OSS), Cloud from $0.12/GB/mo | Free (OSS), Cloud from $0.15/hr | Free (OSS), Cloud from $0.10/hr | Free (PostgreSQL extension) |
When to Choose Each Database
Pinecone — Best for: Teams that want zero ops and predictable pricing. Pinecone is the simplest to start with — create an index, insert vectors, query. No infrastructure to manage. Weak spot: SaaS-only (no self-hosting); dense vectors only (no sparse/hybrid); can get expensive at scale.
Weaviate — Best for: Teams that need hybrid search (dense + sparse) and want a knowledge graph feel. Weaviate stores both vectors and the original objects, supports GraphQL, and has the best hybrid search of any vector DB. Weak spot: More complex to configure than Pinecone; JVM-based (higher memory usage).
Qdrant — Best for: Performance-focused teams that want the fastest queries with rich filtering. Qdrant is written in Rust for maximum performance and has the best filtering DSL. Weak spot: Smaller managed cloud offering; less mature than Pinecone/Weaviate.
Milvus — Best for: Teams operating at massive scale (1B+ vectors) that need a distributed vector database. Milvus has the most index types and the best documentation for large-scale deployments. Weak spot: Most complex to operate; overkill for <10M vectors; distributed architecture requires multiple components.
pgvector — Best for: Teams that already use PostgreSQL and want to add vector search without a new database. pgvector is a PostgreSQL extension — same SQL you know, same backups, same infrastructure. Weak spot: Performance degrades significantly above ~10M vectors; HNSW index builds are slow; fewer index tuning knobs than dedicated vector DBs.
Decision Matrix
| Scenario | Best Vector DB | Why |
|---|---|---|
| Start quickly, zero ops, predictable cost | Pinecone | Easiest to start, serverless, no infrastructure |
| Hybrid search (dense + sparse/keyword) | Weaviate | Best hybrid search, GraphQL-native |
| Performance + rich filtering | Qdrant | Fastest queries, best filtering DSL, Rust |
| Massive scale (1B+ vectors) | Milvus | Most scalable, most index types |
| Already use PostgreSQL, <10M vectors | pgvector | Zero new infrastructure, same SQL, same backups |
| Open source, self-hosted, moderate scale | Qdrant or Weaviate | Both have strong self-hosted offerings |
Bottom line: Start with pgvector if you already use PostgreSQL — it handles up to ~10M vectors well and eliminates the operational burden of a separate database. Move to Qdrant or Weaviate when you outgrow pgvector (performance, scale, or need advanced features like hybrid search). Pinecone is the easiest paid option — use it if you want zero ops and predictable pricing. Milvus is the pick for 1B+ vector scale. See also: RAG Best Practices and Embedding Models Comparison.