Vector Store Comparison
| Store | Local / Hosted | Setup effort | Metadata filtering | Scale ceiling | Cost model | Pick it when |
|---|---|---|---|---|---|---|
| Chroma | Local | Trivial — pip install | Yes, built-in | Small-to-medium | Free (your disk) | Learning, prototyping |
| FAISS | Local | Trivial — pip install | None built-in | Medium, bounded by RAM | Free (your disk) | Batch jobs, notebooks, single-process apps |
| pgvector | Local or self-hosted | Moderate — Postgres extension | Yes, full SQL | Medium-to-large | Your Postgres bill | Already running Postgres |
| Pinecone | Hosted | Low — managed API | Yes, built-in | Large | Per-index-hour, not per-query | Large hosted workload, no ops team |
Recommendation
- Learning or a new prototype: start with Chroma — zero setup cost, easy to throw away.
- Already running Postgres: pgvector keeps vectors next to the relational data they describe, one system instead of two.
- Large-scale hosted workload with no infrastructure team: Pinecone trades cost for zero operations.
See also
- Overview — the shared
VectorStoreinterface every row above implements. - RAG Pipeline — where a vector store plugs into a full retrieval chain.