Buying Vector DB
Buyer's guide.
Overview
Vector database choice splits into two camps: dedicated vector stores (Pinecone, Weaviate, Qdrant, Milvus) and existing databases that grew vector indexes (pgvector on Postgres, OpenSearch, Redis). The right answer usually depends on whether you already operate one of those existing databases at scale.
- Dedicated vector stores. Optimised ANN indexes, built-in hybrid search, scale-out architecture, and a managed-service path. Higher operational separation from your other data.
- Postgres + pgvector. One database to operate, joins between embeddings and relational data, mature backups; index size and query latency cap out earlier.
- Recall and latency targets. ANN trades exactness for speed. Pin the recall and p95 latency you need before measuring throughput.
- Per-team decision and operational footprint. Adding a new database adds an on-call surface; pick deliberately, especially for sub-1B vector workloads.
The approach
Benchmark against your real corpus, your real query mix, and your target recall. Vendor benchmarks use synthetic data with cooperative distributions.
- Corpus and query baseline. Embed a representative slice (1-10M vectors) and replay top-N queries; measure recall and p95 latency.
- Recall threshold first. Decide the lowest recall the application can tolerate, then sweep ANN parameters until the bench hits it.
- Total cost of ownership model. Storage, query, and managed-service fees plus the on-call cost of running yet another database.
- Document the choice and the exit ramp. Capture rationale and how vectors would migrate if you outgrow the choice.
Why this compounds
The right vector store keeps paying back: relevance stays high as the corpus grows, latency stays predictable, and the bill scales with traffic instead of with index drift.
- Relevance discipline. A consistent recall target keeps product behaviour stable as embeddings and corpora change.
- Cost predictability. The right architecture keeps the bill linear when corpus size doubles.
- Operational consolidation. Choosing pgvector when scale allows removes one on-call surface entirely.
- Decision trail for the next renewal. The benchmark data becomes the renewal scorecard, not a cold start.