AI Answer Library

Which vector database should an enterprise pick for RAG?

Short answer

Start from your data volume and the stack you already run, not from whichever database markets itself hardest. Below roughly a million vectors, and especially if your team already operates PostgreSQL, pgvector is usually the best answer — it adds no second system to keep alive. A distributed store such as Milvus earns its complexity above the ten-million mark, or when you need replication and online scaling. Qdrant occupies the middle ground when you need rich metadata filtering but no cluster. With no dedicated operations staff, take the managed option.

Key points

  • 01The vector store is rarely the bottleneck in RAG quality. Chunking, the embedding model, metadata filtering and reranking move the needle far more than swapping databases.
  • 02The first variable is order of magnitude, not the feature matrix. A million, ten million and a hundred million vectors are three different worlds; only crossing a tier justifies a change.
  • 03The second variable is your operational capacity. Every additional distributed system brings its own monitoring, backup, upgrade and incident playbook — costs that never appear in a comparison sheet.
  • 04Keeping data in one database removes a class of consistency bugs. When business rows and vectors share a PostgreSQL transaction, you never get "document deleted but its vector still answers".
  • 05Migration is cheaper than people fear. Behind a thin retrieval abstraction, the vector store is the most replaceable component in the pipeline — not a reason to delay the project.

Four common options, side by side

The table compares options for one scenario: an internal enterprise RAG knowledge base. It does not cover recommendation systems, image retrieval or other vector workloads. The scale column gives the range each option handles comfortably without extra architecture work — not a hard ceiling. Every tier can be pushed further at the cost of more tuning and more operations.

OptionDeployment and operationsComfortable scaleWho it fits
pgvector (PostgreSQL extension)Lowest. If you already run PostgreSQL it is one extension; backup, permissions and monitoring are already in placeFrom tens of thousands up to about a million vectors on a single instanceMost internal knowledge bases, especially teams whose business data already lives in PostgreSQL
QdrantLow to medium. A single container gets you started; clustering is a separate stepOne to ten million, with a clear edge when metadata filters get complexTeams needing multi-condition filtering by department, date or document type without running a cluster
MilvusHigh. Many distributed components, each needing its own monitoring, scaling and failure planTen million and up, or wherever replication, online scaling and multi-tenancy are requiredOrganisations with a platform team, genuine scale, and retrieval shared across business lines
Managed vector serviceLowest for you — but data leaves your network and vendor lock-in must be assessedElastic; scale is largely not your problemTeams with no operations staff, non-sensitive data, and a need to validate fast

Before choosing a store, settle the things that matter more

In practice, the ranked causes of poor retrieval are: bad chunking (context cut in half, or several topics crammed into one chunk), missing metadata filters (searching the entire corpus at once), an embedding model mismatched to the language or domain, no reranking stage — and only then differences in the vector store's own recall. Put differently: if your knowledge base answers badly today, swapping the vector database will most likely change nothing. A pragmatic order is to build the whole pipeline on the least burdensome option (usually pgvector), assemble an evaluation set, and let that evaluation set tell you which stage is actually holding you back.

When it is time to move off pgvector

A few signals are unambiguous. First, sustained growth past ten million vectors where index rebuild time now interferes with normal writes. Second, retrieval latency outside what the business tolerates, which neither index tuning nor more hardware brings back. Third, a need to scale retrieval independently, because transactional load and search load are now degrading each other on one instance. Fourth, requirements for sharding, replication or physical multi-tenant isolation that a relational database can only fake expensively. Conversely, "Milvus sounds more professional" or a feature you have not actually needed yet is not a reason. Migration costs an index rebuild, a dual-write verification period and a staged cutover — worth paying for a real bottleneck, not for architectural aesthetics.

Where this applies

When this answer does not hold

  • This covers internal RAG knowledge bases only. Recommendation systems, image similarity search and real-time feature retrieval have entirely different load profiles and the conclusions do not transfer.
  • The scale ranges are empirical judgements about running comfortably without extra architecture work. They shift substantially with vector dimensionality, filter complexity, concurrency and hardware — treat them as orders of magnitude, not thresholds, and load-test with your own data.
  • These projects iterate quickly and the feature gaps narrow every year. Check the current official documentation rather than a comparison article written a year or two ago.
  • If compliance forbids data leaving your network, managed vector services are excluded outright — that is a precondition, not a trade-off.

People also ask

  • pgvector or Milvus — which one should I use?
  • Do I really need a dedicated vector database for a knowledge base?
  • How do I evaluate vector databases?
  • What should I use to store a few million vectors?
  • Should we self-host the vector store or use a managed one?
Written by: YGG Technology Solutions TeamPublished: 2026-08-01Last reviewed: 2026-08-01