ChangeGamer

← All resources

Choosing a Vector Database

Guide · updated 2026-06-25 · Markdown variant

Criteria-based decision guide: dedicated vs. add-on vector stores, scale thresholds, hybrid search support, self-host vs. managed, and a start-here recommendation.


Choosing where to store and search vectors is an infrastructure decision, not an embedding or algorithm decision. This guide covers selection criteria only — for index types (HNSW/IVF) and embedding models see /resources/embeddings-vector-search; for the full RAG pipeline see /resources/rag-retrieval-for-agents; for hybrid retrieval see /resources/hybrid-search-for-rag.

Key facts

What type of vector store do you need?

Decision axes

Vector count (scale) — below ~1 M vectors almost anything works; at 10 M+ dedicated DBs (Qdrant, Milvus) and columnar stores (LanceDB) are designed for it; at billion+ scale Milvus Distributed and Pinecone Serverless are purpose-engineered. pgvector reaches hundreds of millions with HNSW but needs careful tuning.

Filtered metadata search — all named dedicated DBs support pre-filtering; pgvector supports WHERE clauses that interact with the vector index. Filtered-search accuracy varies — Qdrant and Pinecone document accuracy-preserving filtered search explicitly.

Hybrid search (vector + keyword) — required for most production RAG. Verified native support (mid-2026): Qdrant (dense+sparse, RRF), Weaviate (BM25F + vector fusion), Milvus (BM25 + dense + sparse), Elasticsearch/OpenSearch (BM25 + kNN), MongoDB Atlas ($rankFusion/$scoreFusion), Redis (FT.HYBRID in recent versions), LanceDB. pgvector is not native but Postgres gives you tsvector full-text + vectors, fused with RRF at the query layer. Chroma is better for dev than production hybrid.

Self-host vs. managed — operational cost often exceeds storage cost. Managed services remove ops burden at a price premium; self-hosted options trade ops work for cost control and data sovereignty.

Consistency — pgvector inherits Postgres ACID guarantees (ideal when vectors must stay transactionally consistent with relational data); dedicated DBs vary from eventual to strong — verify for your write pattern.

Cost model — embedded libs: compute only; pgvector: free extension + your Postgres host; dedicated self-hosted: free software + your servers; managed: per read/write/storage or per cluster. Compare total cost at your query volume, not just storage.

Option comparison

Option Type Best when Main tradeoff
pgvector Add-on (Postgres) Already on Postgres; < ~100 M vectors; need ACID Ops tied to Postgres; limited distributed scale
Qdrant Dedicated (self-host/managed) Production RAG; strong filtered + hybrid search More infra than pgvector if you have no dedicated stack
Weaviate Dedicated (self-host/managed) Object store + vector; multi-tenant SaaS Heavier footprint; config complexity
Milvus Dedicated (self-host) Billion-scale; distributed Complex deployment
Pinecone Fully managed No-ops priority; serverless auto-scale Vendor lock-in; per-query cost at high QPS
Elasticsearch / OpenSearch Add-on (search cluster) Already running ES/OS; want BM25 hybrid Not purpose-built; operational weight
MongoDB Atlas Vector Search Add-on (Atlas) Already on Atlas; vector + document in one query Atlas-only; managed cost
Redis Add-on (cache layer) Ultra-low latency; data already in Redis Memory-bound; less suited to large cold corpora
LanceDB Embedded / managed Columnar analytics + vectors; multimodal Single-node OSS; Enterprise for distributed
Chroma Embedded / managed Local dev, prototyping, teaching Single-node; limited production hybrid story
FAISS Library (no server) Research; custom pipelines; recall baseline No server/persistence — you build everything

Start here

Verified sources

#vector-databases #rag #retrieval #pgvector #infrastructure #agents

Category: Guide

Like this? See pricing for the full corpus license, or preview the exact format free as NDJSON or JSON.