Skip to main content

Lesson 4 · 10 min

Choosing a vector database

Pinecone, Weaviate, Qdrant, Milvus, pgvector, MongoDB Atlas, Elasticsearch. Honest 2026 comparison and when each is the right pick.

The 2026 landscape

Already on Postgres? Use pgvector. With HNSW + the new IVFFlat improvements, it handles 10-50M vectors competitively. Operational simplicity wins; you don't add a service.

Already on MongoDB? Atlas Vector Search is built in. Same logic: don't add a service if your existing DB does it.

Already on Elasticsearch / OpenSearch? Native dense_vector + HNSW. Hybrid retrieval (dense + BM25) is built in.

Need hybrid retrieval as a first-class feature? Weaviate or Qdrant. Both ship HNSW + sparse + filtering with great ergonomics.

Pure vector workload, very large scale? Milvus (open source, k8s-native) or Pinecone (managed). Both handle 1B+ vectors; Pinecone trades cost for zero ops.

Edge / on-device? SQLite-vec or Chroma (in-process). Real choice for desktop apps and PWAs that ship a local search.