The vector database is the least interesting and most over-shopped component of a RAG system. Retrieval quality is decided by chunking, embedding choice, hybrid ranking, and evaluation discipline long before the storage engine matters. But the wrong database choice still hurts: it adds an extra system to operate, a bill that scales badly, or a ceiling you hit mid-project.
This ranking is for teams building retrieval-augmented generation specifically: corpora from tens of thousands to billions of chunks, metadata filtering on every query, and tenant isolation as a routine requirement. We ranked seven serious options. The order optimizes for what most RAG teams actually need, and the verdict on each entry says when a lower-ranked option beats the winner.
TL;DR
For most RAG systems in 2026, the best vector database is pgvector. If you already run Postgres and your corpus sits under a few million chunks, which describes the majority of production RAG deployments, pgvector 0.8.5 with HNSW gives you vector search plus ACID transactions and SQL joins with zero new infrastructure. Move to Qdrant when filtered search at scale, hybrid retrieval, or multi-tenant isolation becomes the bottleneck: it is the strongest dedicated open-source engine. Pick Pinecone when you want a fully managed serverless service and will pay for zero operations, and Turbopuffer when your corpus reaches hundreds of millions of documents and storage cost starts dominating the bill.
How this ranking was made
Verified July 15, 2026
We ranked for the RAG retrieval layer specifically, not for generic similarity search or recommendation workloads. Every price, version number, and limit on this page was pulled from the vendors' live pricing pages, documentation, and GitHub releases, all fetched on the verification date shown here; nothing is quoted from memory or from third-party listicles. BearPlex has shipped production RAG systems on several of these engines, which is where the operational judgments come from. No vendor paid for placement, and the winner is not something BearPlex sells: pgvector is a free open-source extension. We excluded general-purpose search engines such as Elasticsearch and OpenSearch, which can store vectors but are a different architectural decision, and we excluded libraries such as FAISS, which are indexes rather than databases.
Retrieval features for RAG
Hybrid dense plus sparse retrieval, metadata filtering that stays fast under real filter cardinality, and multi-tenant isolation primitives.
Operational burden
How much new infrastructure, tuning, and on-call surface the choice adds to a team that already has a product to ship.
Cost at typical RAG scale
What the bill looks like from 100K to 10M chunks, based on the vendors' published pricing as of the verification date.
Scale ceiling
Where the engine stops being the right tool: corpus size, query throughput, and filter complexity before a migration is forced.
Ecosystem and lock-in
License, self-hosting path, framework integrations, and how painful it is to leave.
All 7 at a glance
Dimension
#1 pgvector
#2 Qdrant
#3 Pinecone
#4 Weaviate
#5 Milvus
#6 Turbopuffer
#7 Chroma
License / model
Open-source Postgres extension
Apache 2.0
Proprietary SaaS
BSD-3-Clause
Apache 2.0
Proprietary SaaS
Apache 2.0
Self-hosting
Yes (inside Postgres)
Yes, first-class
No
Yes, first-class
Yes (Lite / Docker / Kubernetes)
No
Yes (embedded or server)
Hybrid (dense + sparse) retrieval
Partial: sparsevec type, you compose the ranking
Built in
Dense and sparse indexes (sparse capped at 100 QPS)
Built in (semantic + BM25)
Supported across index types
Vector and full-text search
Vector, full-text, and hybrid
Metadata filtering
SQL WHERE clauses and joins
Payload indexes, single-pass filtered HNSW
Operator set, up to 40 KB metadata per record
Native filters
Native filters
Native filters
Native filters
Managed entry point
Any managed Postgres
Free 1 GB cluster, then usage-based
Free Starter, then $20/mo Builder or $50/mo min Standard
Free sandbox, serverless from $0.00465 per 1M dimensions
Open-source Postgres extension (Andrew Kane and contributors)
Vector search inside the Postgres you already run, with ACID transactions, joins, and no new infrastructure.
pgvector wins because most RAG systems are not vector-scale problems, they are product problems with a retrieval feature. Version 0.8.5 supports HNSW and IVFFlat indexes, six distance functions (L2, inner product, cosine, L1, Hamming, and Jaccard), and quantization paths via halfvec, binary, and sparse vector types. The vector type stores up to 16,000 dimensions, with indexes covering up to 2,000 dimensions (4,000 with halfvec), which comfortably fits every mainstream embedding model. The decisive advantage is architectural: your chunks live next to your users, permissions, and documents, so tenant filtering is a WHERE clause and consistency is a transaction, not a sync pipeline between two databases. It runs on the major managed Postgres providers, so the operational cost of adding retrieval is close to zero. Its honest limit is scale: past a few million vectors with heavy filtered queries, a dedicated engine starts earning its keep.
Best for
Teams already running Postgres who need retrieval over corpora up to the low millions of chunks
Products where retrieved chunks must join against relational data (permissions, tenants, document metadata)
RAG systems where transactional consistency between source records and embeddings matters
Not for
Corpora in the hundreds of millions of vectors
Workloads dominated by high-QPS filtered vector search where a purpose-built engine's filtering path pays off
Teams with no Postgres anywhere in the stack
Version
0.8.5 (verified July 2026)
Requires
Postgres 13+
Indexes
HNSW, IVFFlat
Dimensions
Up to 2,000 indexed (4,000 with halfvec), 16,000 stored
Extras
Binary quantization, sparse vectors (up to 1,000 non-zero elements indexed)
Pricing
Free and open source. It is an extension, not a service: the cost is whatever your Postgres already costs, from managed-provider free tiers upward. There is no separate vector-database bill.
2
Qdrant
Qdrant
The dedicated open-source engine to graduate to: Rust performance, single-pass filtered search, and hybrid retrieval without lock-in.
When pgvector stops being enough, Qdrant is the default next step. It is Apache 2.0 licensed and written in Rust, and its filtering model is the standout for RAG: payload indexes extend the HNSW graph so filters apply during traversal in a single pass, instead of the pre- or post-filtering that degrades recall or speed in naive engines. That matters because production RAG queries are almost never unfiltered; tenant, source, date, and permission constraints ride on every request. It pairs dense and sparse vectors for hybrid retrieval, supports multitenancy natively, and the 1.18 release added TurboQuant quantization, which the release notes describe as delivering similar recall at double the compression ratio of scalar quantization. The managed cloud has a genuinely free single-node cluster for prototyping, and self-hosting is a first-class path rather than a crippled community edition. The trade-off against pgvector is one more stateful system to operate and a sync pipeline to your source of truth.
Best for
Filter-heavy, multi-tenant RAG at a scale where pgvector's query latency degrades
Teams that want hybrid dense plus sparse retrieval in one engine
Organizations that need a self-hosted deployment without license restrictions
Not for
Teams that have not yet outgrown Postgres: a second database is real operational weight
Buyers who want embedding, reranking, and hosting bundled into one managed pipeline
License
Apache 2.0
Version
1.18 line (TurboQuant quantization; verified July 2026)
Engine
Rust
Filtering
Payload indexes, single-pass filtered HNSW
Hybrid search
Dense + sparse vectors, hybrid retrieval built in
Pricing
Open source and free to self-host. Qdrant Cloud includes a free single-node cluster (0.5 vCPU, 1 GB RAM, 4 GB disk); the standard tier bills on actual vCPU, memory, and storage usage with no fixed minimum. Hybrid and private cloud are sales conversations.
3
Pinecone
Pinecone Systems
The zero-ops managed pick: serverless indexes, integrated embeddings, and predictable operations at a premium price.
Pinecone remains the cleanest answer to 'we do not want to operate a database at all.' The serverless model bills reads, writes, and storage independently, so spiky RAG workloads do not pay for idle clusters. Namespaces partition records automatically, which maps directly onto tenant isolation, and metadata filtering carries up to 40 KB of metadata per record with a full operator set. Integrated embedding models can vectorize on ingest, removing a pipeline component. The free Starter tier (2 GB storage, 2M write units and 1M read units per month) is enough to ship a real pilot. What keeps it at rank three is the other side of managed convenience: it is proprietary with no self-host path, egress and unit pricing accumulate at scale, and sparse indexes carry real constraints (a maximum of 1,000 non-zero values per sparse vector and 100 queries per second per sparse index). You are buying operational silence, and at RAG scale that is often worth exactly what it costs.
Best for
Teams with no infrastructure bandwidth who need production retrieval this quarter
Spiky or unpredictable query loads where serverless economics beat provisioned clusters
Enterprise procurement that wants a vendor SLA rather than an open-source support story
Not for
Cost-sensitive workloads at large scale, where usage-unit pricing compounds
Data-sovereignty or on-premise requirements: there is no self-hosted Pinecone
Teams for whom vendor lock-in on the retrieval layer is a strategic risk
Model
Proprietary managed serverless (no self-hosting)
Tenancy
Namespaces auto-partition records per index
Metadata
Up to 40 KB per record, $eq/$in/$and-style operators
Sparse limits
1,000 non-zero values per sparse vector; 100 QPS per sparse index
Extras
Integrated embedding models on ingest
Pricing
Starter is free (2 GB storage, 2M write units, 1M read units per month). Builder is $20/month flat. Standard has a $50/month usage minimum with reads at $16 to $18 per million read units, writes at $4 to $4.50 per million write units, and storage at $0.33/GB/month. Enterprise starts at a $500/month minimum.
4
Weaviate
Weaviate
The batteries-included open-source option: hybrid search and model integrations wired in from the start.
Weaviate's pitch is that the database should own more of the retrieval pipeline. Hybrid semantic plus keyword search is native, and its module system integrates external model providers so vectorization can happen inside the database rather than in your application code. It is BSD-3-Clause licensed, written in Go, and shipping steadily (v1.38.3 landed July 10, 2026). For RAG teams that want hybrid retrieval without assembling it from parts, it is the fastest credible open-source route. Two things hold it below Qdrant in this ranking. First, the managed pricing meter is unusual: serverless cloud bills per million vector dimensions stored (Flex from $0.00465 per million dimensions per month), which quietly penalizes the high-dimensional embeddings most teams default to, and rewards dimension-reduced ones. Second, in our experience its surface area (modules, integrations, APIs) is larger than the core retrieval problem needs, which is a real cost when debugging production incidents.
Best for
Teams that want hybrid search working on day one without composing dense and sparse engines
Stacks where in-database vectorization via model integrations removes a pipeline component
Open-source-first organizations that still want a managed cloud option
Not for
Very high-dimensional embeddings at scale on the managed cloud, where per-dimension pricing compounds
Teams that want the smallest possible operational surface
License
BSD-3-Clause
Version
v1.38.3 (July 10, 2026)
Engine
Go
Hybrid search
Semantic + keyword (BM25) native
Pricing meter
Managed cloud bills per million vector dimensions stored
Pricing
Open source and free to self-host. Weaviate Cloud serverless starts at $0.00465 per million vector dimensions stored per month (Flex), with Premium tiers from $400/month. The free sandbox covers 100,000 objects, 1 GB memory, and 10 GB disk on a single collection.
5
Milvus
Zilliz / LF AI & Data Foundation
The billion-scale workhorse: cloud-native architecture and the widest index menu for genuinely huge corpora.
Milvus is what you deploy when the corpus is measured in hundreds of millions to tens of billions of vectors and you have the platform team to match. It is Apache 2.0 licensed under the LF AI & Data Foundation, actively maintained (release 2.6.20 shipped July 14, 2026), and offers the broadest index selection in this roundup: HNSW, IVF variants, FLAT, SCANN, and DiskANN, which lets you trade recall, memory, and disk per collection. The three deployment modes cover the full arc: Milvus Lite embeds in a Python process for prototyping, Standalone runs as a single Docker image, and Distributed runs on Kubernetes with separated compute and storage. The honest assessment for RAG: most retrieval corpora never approach the scale where Milvus's architecture pays for its complexity, and below that threshold the distributed machinery is overhead. At that scale, it is one of very few credible open-source answers.
Best for
Corpora from 100M into the billions of vectors, self-hosted on Kubernetes
Platform teams that need index-level control (DiskANN for disk-resident, SCANN, IVF tuning)
Organizations that want Linux Foundation governance behind a core dependency
Not for
Small teams and sub-10M-vector corpora: the operational complexity is not worth it
Anyone who wants retrieval running this week without a platform engineer
License
Apache 2.0 (LF AI & Data Foundation)
Version
2.6.20 (July 14, 2026)
Indexes
HNSW, IVF, FLAT, SCANN, DiskANN
Deployment
Lite (Python library), Standalone (Docker), Distributed (Kubernetes)
Scale
Vendor-documented at billions to tens of billions of vectors
Pricing
Open source and free to self-host in all three modes (Lite, Standalone, Distributed). Managed Milvus is sold as Zilliz Cloud with free, serverless, and dedicated tiers; pricing is published at zilliz.com.
6
Turbopuffer
Turbopuffer
The cost disruptor: search built directly on object storage that gets radically cheap at scale, with cache warmth as the trade.
Turbopuffer rebuilt the vector database on top of object storage with a memory and SSD cache in front, and the economics follow from the architecture: S3-class durability and storage pricing instead of RAM-resident replicas. The vendor claims 10x cost reduction versus alternatives and reports production scale of over 4 trillion documents, 10M+ writes per second, and 25K+ queries per second, with warm vector search at a 14 ms p50 on 10M 1024-dimensional documents. The customer logos are the strongest social proof in this roundup: Cursor, Notion, and Linear all run on it. The trade-offs are structural. It is proprietary and cloud-only, so there is no self-host or exit-to-OSS path, and the cache-fronted design means cold namespaces pay object-storage latency on first access, which you must design around in latency-sensitive RAG. Entry pricing is accessible (Launch at a $16/month usage minimum), but this is an engine you choose deliberately for scale economics, not a default.
Best for
Corpora in the hundreds of millions to billions of documents where storage cost dominates
Massively multi-tenant products with per-namespace isolation (namespaces documented to 500M+ documents at 2 TB)
Teams comfortable buying a proprietary managed service for a structural cost advantage
Not for
Self-hosting, data-sovereignty, or regulated on-premise requirements
Latency-critical paths that cannot tolerate cold-cache first queries
Small corpora where the economics that justify it never materialize
Model
Proprietary managed service (no self-hosting)
Architecture
Object storage (S3) with memory/SSD cache in front
Reported scale
4T+ documents, 10M+ writes/s, 25K+ queries/s in production
Warm latency
14 ms p50 vector search on 10M docs at 1,024 dimensions (vendor benchmark)
Named users
Cursor, Notion, Linear (vendor site)
Pricing
Usage-based with plan minimums: Launch at $16/month minimum usage, Scale at $256/month, and Enterprise at $4,096/month and up with a 35% usage premium. Per-unit rates are published through the cost calculator on turbopuffer.com/pricing.
7
Chroma
Chroma
The fastest path from zero to retrieval: embedded-first developer experience, now backed by a Rust core and a usage-based cloud.
Chroma earned its place as the notebook-to-prototype default: pip install, four lines of code, and you have retrieval. That developer experience is still the best reason to use it, and the project has matured well beyond its origins. The core was rewritten in Rust (69% of the repository), it ships steadily (v1.5.9, released May 2026, was current at this verification), it is Apache 2.0 licensed, and it now covers vector, full-text, and hybrid search. Chroma Cloud turned it into a legitimate hosted option with transparent usage pricing: $2.50 per GiB written, $0.33 per GiB per month stored, and $0.0075 per TiB queried, with $5 of free credits to start. It ranks seventh not because it is bad but because at production RAG scale each engine above it has a sharper edge: pgvector on integration, Qdrant on filtered performance, Pinecone on managed maturity. Choose Chroma to validate a retrieval product fast, and treat a later migration as a realistic possibility rather than a failure.
Best for
Prototypes, internal tools, and early-stage products that need retrieval today
Local development that mirrors the production API
Small production workloads on Chroma Cloud's usage-based pricing
Not for
Large filter-heavy production deployments better served by the engines ranked above
Teams that need a long operational track record at high scale before committing
License
Apache 2.0
Version
1.5.9 (released May 2026; verified July 2026)
Engine
Rust core (majority of codebase)
Search
Vector, full-text, and hybrid
Cloud entry
$0/month Starter with $5 usage credits
Pricing
Open source (Apache 2.0) and free to run yourself. Chroma Cloud bills $2.50 per GiB written, $0.33 per GiB per month stored, and $0.0075 per TiB queried; the Starter plan is $0/month with $5 in credits, and Team is $250/month plus usage.
When none of these is the answer
If your corpus is a few thousand chunks, you do not need a vector database at all: brute-force similarity in process memory or a SQLite-class embedded index is simpler, faster to ship, and trivially correct. And if your retrieval quality is poor, the database is almost never the culprit. Chunking strategy, embedding model choice, hybrid ranking, and an evaluation harness move answer quality far more than swapping engines, which mostly changes latency and cost.
The cases that genuinely justify engineering effort are the ones between the boxes: permission-aware retrieval across tenants, corpora that update continuously, domain-specific ranking, or a pipeline that has to be audited. That is retrieval-system engineering rather than database selection, and it is the work BearPlex does for clients: chunking, embeddings, retrieval, evaluation, and the database decision made for your constraints rather than a leaderboard's.
For most systems, yes. The majority of production RAG corpora sit well under a few million chunks, and at that scale pgvector's HNSW index delivers competitive retrieval while keeping your chunks in the same database as your users, permissions, and documents. The teams that genuinely outgrow it are the ones with hundreds of millions of vectors or sustained high-QPS filtered search, and they usually know who they are.
Watch for three signals: filtered query latency degrading as the corpus grows past the low millions of vectors, index build and maintenance windows starting to interfere with your primary database's transactional load, and retrieval features you cannot compose in SQL, such as native hybrid dense plus sparse ranking. When two of the three appear, evaluate Qdrant first; the migration is mostly an ETL exercise if you kept your source of truth in Postgres.
Usually, yes. Dense embeddings miss exact identifiers, part numbers, and rare technical terms, which are precisely what enterprise users query for. Pairing dense retrieval with a sparse or keyword signal and fusing the results is one of the highest-leverage retrieval upgrades available. Qdrant, Weaviate, and Chroma ship it natively; Pinecone offers separate dense and sparse indexes; with pgvector you compose it from the sparsevec type or Postgres full-text search.
They can all store and search vectors, but they are general-purpose engines where vector search is one feature among many, and choosing them is really a decision about your existing search infrastructure rather than about RAG. If you already operate Elasticsearch or OpenSearch at scale, extending it for vector retrieval is a legitimate path. This ranking covers purpose-built options for teams making a fresh retrieval-layer decision.
At typical scale, less than teams expect, and less than the LLM calls the retrieval feeds. A corpus of one million 1,536-dimension chunks is a few gigabytes of vectors: that fits pgvector on the Postgres you already pay for, Qdrant Cloud's usage-based tier, or Pinecone Standard above its $50/month minimum. Cost only becomes an architecture driver in the hundreds of millions of documents, which is the scale Turbopuffer's object-storage design targets.
If the alternative is hiring or diverting an engineer to operate and tune a retrieval cluster, often yes: the serverless model, namespaces for tenant isolation, and integrated embeddings remove real work. If you have platform capacity, data-sovereignty requirements, or cost sensitivity at scale, the open-source engines give you the same retrieval quality without the lock-in. It is an operations trade, not a quality trade.
Far less than people assume. All seven options here implement the same family of approximate nearest neighbor algorithms, HNSW above all, and at sane settings their recall differences are marginal. Retrieval quality lives in chunking, embedding model choice, hybrid ranking, reranking, and evaluation. Choose the database on operations, cost, filtering, and scale; fix quality in the pipeline around it.
All seven have integrations in both frameworks; connector availability stopped being a differentiator some time ago. The practical differences show up in how much of each engine's native capability the integration exposes, particularly metadata filtering and hybrid retrieval. For anything beyond a prototype, plan to drop to the database's own client for the retrieval path even if you keep a framework for orchestration.