Dilip Singh logo
All posts
RAG SystemsIntermediate2026-06-12·11 min read

Vector Database Showdown 2026: Qdrant vs Pinecone vs Weaviate vs pgvector

A practical comparison of the four most-used vector databases for production RAG — covering latency, cost, hybrid search, filtering, self-hosting, and which one I pick in each scenario.

The TL;DR

NeedMy Pick
Self-hosted, fastest, most flexibleQdrant
Already on Postgres, < 1M vectorspgvector
Schema-rich, GraphQL nativeWeaviate
Zero ops, willing to payPinecone

Benchmark Setup

I indexed 1M 768-dim embeddings (BGE-base) across all four. Query workload: 1000 mixed queries (with and without metadata filters). Hardware: 4 vCPU, 16GB RAM.

Latency at p95

DatabaseNo filterWith filterHybrid (dense+sparse)
Qdrant18ms22ms38ms
Pinecone32ms35ms52ms
Weaviate24ms28ms45ms
pgvector (HNSW)35ms30ms (filter wins)n/a

Qdrant: My Default Choice

python
from qdrant_client import QdrantClient, models

client = QdrantClient("http://localhost:6333") client.create_collection( "docs", vectors_config=models.VectorParams(size=768, distance=models.Distance.COSINE), quantization_config=models.ScalarQuantization( scalar=models.ScalarQuantizationConfig(type=models.ScalarType.INT8) ), ) ```

  • Best in-memory + on-disk hybrid (RAM stays bounded as collection grows)
  • Built-in scalar/binary quantization — 4× memory reduction with minimal recall loss
  • Rich payload filtering with composite conditions
  • Native Rust performance, Docker-friendly self-hosting

pgvector: When You Already Have Postgres

sql
CREATE EXTENSION vector;
CREATE TABLE docs (id BIGSERIAL PRIMARY KEY, content TEXT, embedding vector(768));
CREATE INDEX ON docs USING hnsw (embedding vector_cosine_ops);

SELECT id, content, 1 - (embedding <=> $1) AS similarity FROM docs WHERE org_id = $2 AND created_at > NOW() - INTERVAL '30 days' ORDER BY embedding <=> $1 LIMIT 5; ```

The killer feature: JOIN with your existing tables. Filtering by tenant, date range, or user permissions becomes a normal SQL WHERE clause.

Decision Framework

  1. 1< 100K vectors and already using Postgres → pgvector. Don't add another database.
  2. 2Multi-tenant SaaS, self-hosted, > 1M vectors → Qdrant. Best price/performance.
  3. 3Need GraphQL + schema modeling → Weaviate.
  4. 4Don't want to operate infrastructure, money is no object → Pinecone.

The vector DB market changes fast. Re-evaluate every 6 months.

DS
Dilip Singh
Lead Software Architect · Hureka Technologies

14+ years building enterprise software and AI systems. Architecting multi-agent AI platforms, RAG pipelines, voice AI, and high-performance SaaS for global clients.