Three years ago, “vector database” was a category of one or two startups. Today it is a competitive market, with significant innovation coming from the incumbents (Postgres, OpenSearch) as well as the specialists. The choice now is genuinely difficult — and frequently mis-made.
Below is the honest, opinionated 2026 comparison across the options we deploy most often: Pinecone, Weaviate, Milvus, Qdrant, and pgvector (Postgres). We also flag where OpenSearch and the data-warehouse vector extensions belong in this conversation.
The five we evaluate most often
Pinecone
Fully managed, serverless-first, the most mature managed offering on the market. Strengths: zero operational burden, excellent multi-tenant isolation, predictable latency, strong hybrid (BM25 + dense) support since their serverless v3 release. Weaknesses: vendor lock-in, no self-hosted option, cost grows non-linearly at very large scale (1B+ vectors). Best fit: teams that want managed, are happy with a SaaS contract, and value engineering time more than vendor independence.
Weaviate
Open-source with a strong managed offering. Strengths: rich filtering and GraphQL-style query API, native modules for embeddings and rerankers, good multi-tenancy. Weaknesses: operational complexity if self-hosted at scale; some users report slower iteration than the specialist competitors on the cutting-edge retrieval techniques. Best fit: teams that want flexibility, may move from managed to self-hosted, and value the broader feature set over raw performance.
Milvus
Open-source, the most scale-tested at 1B+ vectors. Strengths: built for distributed scale, supports multiple index types (IVF, HNSW, DiskANN), strong community, predictable performance characteristics at extreme scale. Weaknesses: more moving parts than the alternatives; setup and tuning require expertise; the managed offering (Zilliz Cloud) is good but not the dominant managed option. Best fit: teams expecting hundreds of millions or billions of vectors and willing to invest in the operational skill.
Qdrant
Open-source, Rust-based, focused on performance per dollar. Strengths: very fast HNSW implementation, strong filtering with payload indexing, clean API, good self-hosted story. Weaknesses: smaller community than Weaviate or Milvus, less mature multi-tenancy than Pinecone, fewer built-in integrations than Weaviate. Best fit: teams that want high-performance self-hosted vector search with a clean operational story.
pgvector
A Postgres extension. The dark-horse pick that wins more deals than its category profile suggests. Strengths: it is just Postgres — your team already operates it, your backup story already exists, transactions and joins work, and at small-to-medium scale (up to ~50M vectors with HNSW) the performance is competitive. Weaknesses: above 50–100M vectors the operational story gets hard; less mature on hybrid retrieval (BM25 + dense needs the pg_search or similar extension); fewer cutting-edge retrieval techniques. Best fit: teams with an existing Postgres investment, modest scale, and a strong preference for one database over two.
Side-by-side at 100M vectors
| Dimension | Pinecone | Weaviate | Milvus | Qdrant | pgvector |
|---|---|---|---|---|---|
| Deployment | SaaS only | SaaS or self | Self or Zilliz | SaaS or self | Postgres |
| Hybrid retrieval | Native | Native | Plug-in | Plug-in | Extension |
| Multi-tenant | Excellent | Good | Good | Good | Schema-based |
| Mature scale | 1B+ | 500M+ | 10B+ | 500M+ | ~100M |
| Index types | Proprietary | HNSW | HNSW, IVF, DiskANN | HNSW | HNSW, IVFFlat |
| Operating cost | $$$ | $$ | $ | $ | $ (existing) |
The 1B-vector regime
Above one billion vectors, the field narrows. Realistic options:
- Milvus self-hosted with DiskANN — the most cost-efficient at extreme scale, demanding strong operations.
- Pinecone — works fine but costs grow quickly; some teams build sharded multi-cluster patterns to manage cost.
- OpenSearch / Elasticsearch — increasingly competitive with kNN plugins; right answer when you also need traditional search at the same scale.
Below this scale, the choice is rarely about raw performance — it is about operational fit.
Hybrid retrieval — the question that decides 80% of choices
Most production RAG systems need hybrid retrieval (BM25 + dense + rerank). Vendors differ sharply in how mature this is:
- Pinecone, Weaviate, Qdrant: native hybrid that just works.
- Milvus: via plug-ins; well-supported but more setup.
- pgvector: needs pg_search, ParadeDB, or a separate keyword path — workable but more glue.
- OpenSearch: hybrid is mature, often the simplest answer when keyword and vector live in one engine.
If your retrieval is keyword-dominant (technical docs, code, product SKUs, regulatory references), do not skip hybrid for “just embeddings.” It will hurt you in production.
The decision framework
We score every choice against five questions:
- What is your scale, today and at 3-year projection? Below 50M, pgvector is on the table. Above 1B, Milvus and Pinecone are the field.
- Self-hosted or SaaS? If SaaS, Pinecone or managed Weaviate are the strongest options. If self-hosted, Qdrant or Milvus.
- How important is hybrid retrieval out of the box? Critical for most enterprise RAG — pushes you toward Pinecone, Weaviate, or OpenSearch.
- How much vendor-independence do you need? Open-source matters for regulated or sovereign deployments.
- What does your team already operate? If you already run Postgres at scale, pgvector starts with a meaningful advantage.
Honest recommendations
- Start with pgvector if you have Postgres and expect modest scale. The simplicity dividend is huge.
- Pick Pinecone for a fast, managed, SaaS-OK rollout that needs to be in production in 8 weeks.
- Pick Qdrant for high-performance self-hosted with a small team.
- Pick Weaviate when you want flexibility to move between managed and self-hosted and value the broader feature set.
- Pick Milvus when you genuinely need extreme scale and have the operational capability to back it.
- Pick OpenSearch / Elasticsearch when you need vector and keyword side by side at scale.
Most engagements pick the wrong vendor in the first month and find out in production. The cost of the wrong choice is not the vendor switch — it is the embeddings re-index, the retrieval pipeline rewrite, and the eval-suite drift. Pick deliberately, and pick once.