Vector DB Comparison: Pinecone / Weaviate / pgvector / Qdrant

AI Navigate Original / 4/27/2026

💬 OpinionDeveloper Stack & InfrastructureTools & Practical Usage
共有:

Key Points

  • Vector DBs fast-search top similars via ANN indexes (HNSW/IVF)
  • Options: Pinecone/Weaviate/pgvector/Qdrant/Milvus/Chroma
  • Choose by scale, existing stack, hybrid-search need, cost
  • Regenerate vectors on model change; combine with Reranker

The Vector DB's Role

A dedicated database that fast-searches top similars from a large number of embedding vectors in RAG or recommendation systems. It speeds up approximate nearest-neighbor (ANN) search with indexes like HNSW, IVF.

Comparison of Main Options

ProductFeatureSuited for
PineconeFully managed, easyWant to start quickly
WeaviateOSS+cloud, hybridKeyword+vector together
pgvectorPostgreSQL extensionWhen you have existing PG
QdrantRust-built, fast, OSSLarge-scale/speed-focused
MilvusOSS, super-large-scaleOver 1B vectors
ChromaLightweight, for devPrototype
Elastic / OpenSearchAdd to existing search infraExisting ES environment

Selection Points

1. Data Scale

  • Under 100k vectors: Chroma, SQLite + local
  • 1M-100M: pgvector, Pinecone, Weaviate, Qdrant
  • Over 1B: Milvus, Pinecone Enterprise

2. Existing Stack

  • Have PostgreSQL → pgvector is the minimal cost
  • Have Elasticsearch → ES's vector feature
  • New → Pinecone (managed) or Weaviate (OSS)

3. Hybrid Search (Keyword + Vector)

For work where proper nouns or model numbers matter, BM25 + hybrid is more accurate than pure vector search. Weaviate, Elastic, Pinecone (partly) support it.

4. Metadata Filter

The need to combine filters like "category = tech book," "published > 2024-01-01" with vector search. Each product supports it, but with performance differences.

5. Cost

ProductCost sense
Pinecone StarterFrom $70/mo (1M vectors)
pgvector self-hostOnly PostgreSQL operating cost
Qdrant CloudFrom $25/mo
Weaviate CloudFrom $25/mo
Milvus Cloud (Zilliz)From $65/mo

Performance Metrics

  • QPS (queries/sec): how many searches per second
  • Latency: P95 under 50ms is desirable
  • Recall: rate of getting the true correct (ANN isn't exact)
  • Insert speed: important for initial bulk loading

Implementation Patterns

pgvector (Add to Existing PostgreSQL)

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

-- Search
SELECT id, content FROM docs
ORDER BY embedding <=> '[0.1,0.2,...]'::vector
LIMIT 10;

Pinecone (Python)

from pinecone import Pinecone
pc = Pinecone(api_key="...")
index = pc.Index("docs")
index.upsert([(id, vector, metadata)])
results = index.query(vector=query_vec, top_k=10, include_metadata=True)

Operational Tips

  • On embedding-model change, regenerate all vectors
  • Decide the chunk strategy (500-1000 tokens) first
  • Always store source URL, update date in metadata
  • Periodically measure Recall (detect accuracy drift)

2026 Trends

  • Standardization of Hybrid Search
  • Multimodal embedding support (search image/audio in the same space)
  • Reranker (Cohere Rerank, Voyage Rerank) combination becoming common
  • Sparse + Dense hybrid becoming default

Summary

Vector-DB choice is basically decided by "scale, existing stack, need for hybrid search." Chroma for prototypes, pgvector or Pinecone for production, Weaviate / Qdrant for enterprise are the standards. Combining with a Reranker greatly raises accuracy.