
Vector databases are the storage layer that makes RAG, semantic search, and AI memory possible. They store high-dimensional vectors (embeddings) and find the closest matches by similarity rather than exact match. The market has consolidated around four serious options, each with different trade-offs.
The Four Contenders
Pinecone is fully managed — you create an index, insert vectors, and query. No servers to manage, no scaling to worry about. It is the easiest to start with and the most expensive at scale. Weaviate offers both managed and self-hosted options, with rich built-in modules for common embedding models. Qdrant is fast, written in Rust, and has a generous free tier for self-hosting. Chroma is the lightest option — perfect for prototyping and small datasets, running entirely in memory or with a local file backend.
How to Choose
If you want zero infrastructure and have budget, choose Pinecone. If you want flexibility between managed and self-hosted, choose Weaviate. If you value raw performance and are comfortable running Docker, choose Qdrant. If you are prototyping or have a small dataset, choose Chroma and migrate later. The good news: the APIs are similar enough that switching is a matter of days, not weeks.
Beyond Storage: Metadata Filtering
A vector database is not just about similarity search. Real applications need to filter by metadata — “find documents about billing from the last 30 days for customer X.” All four databases support metadata filtering alongside vector search, but the syntax and performance characteristics differ. Plan your metadata schema carefully at the start; retrofitting it later is painful.