ChromaDB Vector Database
MINE FOR PATTERNSComprehensive technical evaluation of ChromaDB for RAG systems. 11 sections, 15 sources. Excels at prototyping but collapses under concurrent load.
Key Findings
ChromaDB excels at prototyping (fastest single-query, simplest API) but collapses under concurrent load: 23s vs pgvector's 9.8s at 100 concurrent requests
HNSW index MUST fit in RAM — N = R * 0.245 (millions = GB RAM * 0.245 for 1024d embeddings)
Practical ceiling: ~15M embeddings on 64GB RAM, ~3.6M on 16GB
2025 Rust rewrite delivered 4x performance over Python-only version
Hybrid search (BM25 + vector with RRF) is Chroma Cloud ONLY — not in open-source
No built-in chunking — BYOC (Bring Your Own Chunking)
Chroma's own research: 200-token chunks with ZERO overlap outperform the common 800/400 default
DuckDB+Parquet backend abandoned in v0.4.0 due to severe reliability bugs
Multi-tenancy is logical only (single SQLite) — not physical isolation
Multi-process deployments (Gunicorn) cause stale data across workers
Action Recommendations
Use ChromaDB for rapid prototyping and POC work only
Migrate to pgvector or LanceDB before production
Apply 200-token/zero-overlap chunking across all RAG systems (abandon 800/400 default)
Never use Gunicorn with ChromaDB — single process only
Watch List (from this report)
Chroma Cloud pricing tiers — currently $5 free credits
ChromaDB open-source hybrid search — will RRF/BM25 come to self-hosted?