Vector Databases
Store and search embeddings for RAG, semantic search, and similarity applications.
Comparison
| Database |
Best For |
Filtering |
Scale |
Managed Option |
| Chroma |
Local dev, prototyping |
Yes |
< 1M |
No |
| FAISS |
Max speed, GPU, batch |
No |
Billions |
No |
| Qdrant |
Production, hybrid search |
Yes |
Millions |
Yes |
| Pinecone |
Fully managed |
Yes |
Billions |
Yes (only) |
| Weaviate |
Hybrid search, GraphQL |
Yes |
Millions |
Yes |
Chroma
Embedded vector database for prototyping. No server needed.
Strengths: Zero-config, auto-embedding, metadata filtering, persistent storage
Limitations: Not for production scale, single-node only
Key concept: Collections hold documents + embeddings + metadata. Auto-embeds text if no vectors provided.
FAISS (Facebook AI)
Pure vector similarity - no metadata, no filtering, maximum speed.
Index types:
- Flat: Exact search, small datasets (< 10K)
- IVF: Inverted file, medium datasets (10K - 1M)
- HNSW: Graph-based, good recall/speed tradeoff
- PQ: Product quantization, memory efficient for billions
Strengths: Fastest, GPU support, scales to billions
Limitations: No filtering, no metadata, vectors only
Key concept: Choose index based on dataset size. Trade accuracy for speed with approximate search.
Qdrant
Production-ready with rich filtering and hybrid search.
Strengths: Payload filtering, horizontal scaling, cloud option, gRPC API
Limitations: More complex setup than Chroma
Key concept: "Payloads" are metadata attached to vectors. Filter during search, not after.
Index Algorithm Concepts
| Algorithm |
How It Works |
Trade-off |
| Flat |
Compare to every vector |
Perfect recall, slow |
| IVF |
Cluster vectors, search nearby clusters |
Good recall, fast |
| HNSW |
Graph of neighbors |
Best recall/speed ratio |
| PQ |
Compress vectors |
Memory efficient, lower recall |
Decision Guide
| Requirement |
Recommendation |
| Quick prototype |
Chroma |
| Metadata filtering |
Chroma, Qdrant, Pinecone |
| Billions of vectors |
FAISS |
| GPU acceleration |
FAISS |
| Production deployment |
Qdrant or Pinecone |
| Fully managed |
Pinecone |
| On-premise control |
Qdrant, Chroma |
Resources
1---2name: vector-databases3description: Use when "vector database", "embedding storage", "similarity search", "semantic search", "Chroma", "ChromaDB", "FAISS", "Qdrant", "RAG retrieval", "k-NN search", "vector index", "HNSW", "IVF"4---5
6# Vector Databases
7
8Store and search embeddings for RAG, semantic search, and similarity applications.
9
10## Comparison
11
12| Database | Best For | Filtering | Scale | Managed Option |
13|----------|----------|-----------|-------|----------------|
14| **Chroma** | Local dev, prototyping | Yes | < 1M | No |
15| **FAISS** | Max speed, GPU, batch | No | Billions | No |
16| **Qdrant** | Production, hybrid search | Yes | Millions | Yes |
17| **Pinecone** | Fully managed | Yes | Billions | Yes (only) |
18| **Weaviate** | Hybrid search, GraphQL | Yes | Millions | Yes |
19
20---
21
22## Chroma
23
24Embedded vector database for prototyping. No server needed.
25
26**Strengths**: Zero-config, auto-embedding, metadata filtering, persistent storage
27**Limitations**: Not for production scale, single-node only
28
29**Key concept**: Collections hold documents + embeddings + metadata. Auto-embeds text if no vectors provided.
30
31---
32
33## FAISS (Facebook AI)
34
35Pure vector similarity - no metadata, no filtering, maximum speed.
36
37**Index types:**
38
39- **Flat**: Exact search, small datasets (< 10K)
40- **IVF**: Inverted file, medium datasets (10K - 1M)
41- **HNSW**: Graph-based, good recall/speed tradeoff
42- **PQ**: Product quantization, memory efficient for billions
43
44**Strengths**: Fastest, GPU support, scales to billions
45**Limitations**: No filtering, no metadata, vectors only
46
47**Key concept**: Choose index based on dataset size. Trade accuracy for speed with approximate search.
48
49---
50
51## Qdrant
52
53Production-ready with rich filtering and hybrid search.
54
55**Strengths**: Payload filtering, horizontal scaling, cloud option, gRPC API
56**Limitations**: More complex setup than Chroma
57
58**Key concept**: "Payloads" are metadata attached to vectors. Filter during search, not after.
59
60---
61
62## Index Algorithm Concepts
63
64| Algorithm | How It Works | Trade-off |
65|-----------|--------------|-----------|
66| **Flat** | Compare to every vector | Perfect recall, slow |
67| **IVF** | Cluster vectors, search nearby clusters | Good recall, fast |
68| **HNSW** | Graph of neighbors | Best recall/speed ratio |
69| **PQ** | Compress vectors | Memory efficient, lower recall |
70
71---
72
73## Decision Guide
74
75| Requirement | Recommendation |
76|-------------|----------------|
77| Quick prototype | Chroma |
78| Metadata filtering | Chroma, Qdrant, Pinecone |
79| Billions of vectors | FAISS |
80| GPU acceleration | FAISS |
81| Production deployment | Qdrant or Pinecone |
82| Fully managed | Pinecone |
83| On-premise control | Qdrant, Chroma |
84
85## Resources
86
87- Chroma: <https://docs.trychroma.com>
88- FAISS: <https://github.com/facebookresearch/faiss>
89- Qdrant: <https://qdrant.tech/documentation/>
90- Pinecone: <https://docs.pinecone.io>