Vector Databases Compared: What to Use and When
Choosing a vector database is less about benchmark charts and more about retrieval quality, metadata filtering, operations overhead, and cost predictability. This guide compares Pinecone, Weaviate, Qdrant, pgvector, and Milvus with concrete decision rules for real production workloads.
Most teams don’t fail at RAG because the model is weak. They fail because retrieval is noisy, slow, hard to operate, or too expensive at scale.
That’s why the “best vector database” question is usually the wrong question. The better one is:
What retrieval system gives us reliable relevance with acceptable latency, cost, and operational burden for our workload?
This article compares common options we use in real projects—Pinecone, Weaviate, Qdrant, pgvector, and Milvus—and gives practical rules for choosing.
Start With Workload, Not Vendor
Before choosing infrastructure, define your retrieval profile:
- Dataset size: 100k vectors, 10M vectors, or 1B+?
- Query pattern: low QPS internal app or high-QPS customer API?
- Filtering complexity: simple tenant_id or nested metadata logic?
- Search strategy: vector-only or hybrid (BM25 + vector)?
- SLOs: p95 < 150ms, or can you tolerate 500ms?
- Ops tolerance: managed-only, or can your team run stateful clusters?
If this is undefined, your tooling choice will be random.
Quick Decision Matrix
Use this as a first pass:
- Need fastest path to production with low ops? → Pinecone
- Need strong hybrid search + schema-rich objects? → Weaviate
- Need open-source, predictable behavior, easy self-hosting? → Qdrant
- Need tight relational joins and modest scale? → Postgres + pgvector
- Need very large-scale, high-throughput vector infra? → Milvus
None of these are universally best. They are best for specific constraints.
What Actually Matters in Production
1) Relevance Stability Over Time
You’ll update embeddings, chunking, or reranking. A database that works in week one can degrade in week six if index tuning is fragile.
Focus on:
- Recall at k under realistic filters
- Consistency across embedding model upgrades
- Ease of running A/B retrieval tests
2) Metadata Filtering Quality
Most enterprise RAG systems are mostly filtering problems:
- tenant_id isolation
- permissions / ACL-based retrieval
- document type and freshness constraints
A fast ANN index is useless if filter behavior causes under-recall or latency spikes.
3) Hybrid Search Support
Pure vector often misses keyword-critical queries (“error code 0x80070005”, SKU numbers, legal clauses). Hybrid search usually improves practical relevance.
4) Operations Cost and Failure Modes
Ask boring questions early:
- What happens during index rebuilds?
- How painful is backfill after schema changes?
- What are snapshot/restore workflows?
- How do we monitor recall drift, not just CPU?
This is where many teams regret their initial choice.
Platform-by-Platform Comparison
Pinecone
Best for: teams that want managed infrastructure and quick delivery.
Strengths:
- Low operational burden
- Good managed DX and fast onboarding
- Strong for production teams without dedicated infra engineers
Tradeoffs:
- Cost can grow quickly with large, always-hot datasets
- Less control compared to self-hosted options
- You’re tied to vendor roadmap and feature constraints
Choose Pinecone when speed and reliability matter more than deep infrastructure control.
Weaviate
Best for: hybrid retrieval and schema-rich object search.
Strengths:
- Good hybrid search patterns (lexical + vector)
- Flexible data/object model
- Solid for semantic layers where metadata is first-class
Tradeoffs:
- More knobs to tune than fully managed “just works” options
- Operational complexity rises with scale and custom topology
Choose Weaviate when your retrieval problem is not just nearest-neighbor search but also rich semantic filtering and hybrid ranking.
Qdrant
Best for: open-source teams wanting practical, predictable vector retrieval.
Strengths:
- Strong open-source ergonomics
- Clear filtering and payload model
- Good balance between performance and operational simplicity
Tradeoffs:
- Managed story depends on your deployment choice
- You still own more infra decisions than pure SaaS options
Choose Qdrant when you want control without jumping into heavy cluster complexity.
Postgres + pgvector
Best for: small-to-mid datasets where Postgres already exists and query logic is relational.
Strengths:
- Reuse existing Postgres ops workflows
- Easy joins with application metadata
- Great for early-stage products and internal tools
Tradeoffs:
- Not ideal for very high-scale ANN workloads
- Tuning can become painful as vector corpus and QPS grow
- You may eventually split into dedicated retrieval infrastructure
Choose pgvector when pragmatism wins: one datastore, one ops model, fast iteration.
Milvus
Best for: large-scale, high-throughput vector systems with dedicated infra maturity.
Strengths:
- Built for serious scale and performance
- Strong indexing options for advanced workloads
- Good fit for platform teams running shared retrieval infra
Tradeoffs:
- More operational complexity than lightweight alternatives
- Requires stronger SRE/data infra discipline
Choose Milvus when you know vector retrieval is core infrastructure, not an app feature.
Index Type Guidance (HNSW vs IVF Family)
You’ll usually encounter:
- HNSW: excellent recall/latency for many interactive workloads; memory-heavy.
- IVF/IVF-PQ variants: better memory/compression tradeoffs; may require more tuning to hit recall targets.
Rule of thumb:
- Start with HNSW for product search experiences where relevance quality is critical.
- Use IVF/PQ-style approaches when dataset size and cost pressure dominate, and you can accept tuning complexity.
Always benchmark on your own embeddings + filters + query logs. Synthetic benchmarks mislead.
Recommended Architecture for Most SaaS RAG Apps
For many B2B SaaS use cases (docs assistants, support copilots, internal knowledge search):
- Chunk and embed documents with versioned pipelines.
- Store vectors plus strict tenant metadata.
- Run hybrid retrieval (if available) or keyword prefilter + vector search.
- Apply reranker on top-k candidates.
- Add citation checks and guardrails before answer generation.
Database choice affects step 2 and part of step 3, but system quality depends on the full retrieval pipeline.
Migration Reality: You’ll Probably Switch Once
A common path:
- Stage 1: pgvector for speed of implementation
- Stage 2: dedicated vector DB as data/query complexity grows
- Stage 3: retrieval platform with hybrid ranking + reranking + observability
Plan for migration from day one:
- Keep chunk IDs stable
- Version embedding models in metadata
- Decouple ingestion and retrieval services
- Abstract query layer so provider swaps are not app-wide rewrites
Cost Model Checklist
Before committing, estimate monthly cost with:
- Total vector count and growth rate
- Average embedding dimension
- Query volume by p50 and p95
- Expected replica count and regions
- Reindex frequency and backfill overhead
If the provider can’t give clear cost predictability at your expected scale, treat that as a risk.
Practical Recommendations by Team Stage
Early stage (0–2 engineers, fast shipping)
Use Pinecone or pgvector.
- Pinecone if you want minimal ops now.
- pgvector if Postgres-first simplicity and low cost matter more.
Growth stage (product-market fit, rising QPS)
Use Qdrant or Weaviate.
- Qdrant for clean open-source control.
- Weaviate when hybrid/object search needs are strong.
Platform stage (multiple products, high scale)
Evaluate Milvus (and potentially a managed enterprise setup).
- Invest in retrieval observability and dedicated ownership.
- Optimize for long-term operational reliability, not initial convenience.
Final Take
Choose the database that matches your operational reality, not the one with the most impressive benchmark screenshot.
For most teams, success comes from:
- clean metadata design,
- good hybrid retrieval,
- reranking,
- strict evaluation loops,
- and boring reliability.
If you get those right, several vector databases can work well. If you get them wrong, none of them will save your RAG system.
More in AI / ML
How Mixture of Experts Works: Sparse Gating, Expert Routing, and the Architecture Behind Efficient Large Language Models
A deep dive into MoE architecture: how the gating network routes tokens to experts, top-k selection, load balancing losses, capacity factor, token dropping, expert parallelism for serving, and the real production tradeoffs between dense transformers and sparse MoE models.
AI Agent Frameworks Compared: CrewAI, LangGraph, AutoGen, and Mastra for Production Systems
A practical comparison of CrewAI, LangGraph, AutoGen, and Mastra for building production AI agent systems. Covers architecture philosophy, state management, tool integration, observability, and deployment patterns with TypeScript code examples.
Google's Agent2Agent Protocol: How A2A Enables Cross-Framework Agent Communication in Production Systems
A deep dive into Google's Agent2Agent (A2A) protocol covering agent cards, task lifecycle, message parts, streaming via SSE, push notifications, and how A2A complements MCP. Includes TypeScript implementation examples, comparison with MCP and direct API integration, and production deployment patterns for multi-vendor agent ecosystems.
How Transformer Models Work: Self-Attention, Positional Encoding, and the Architecture Behind Modern LLMs
A technical deep dive into the Transformer architecture: tokenization, positional encoding, self-attention with Q/K/V matrices, multi-head attention, the encoder-decoder split, training dynamics, and what it all means for engineers building on top of LLMs.