Milvus vs Chroma
Two of the top vector databases, side by side: score, setup, license, activity and what each review found.
Milvus
Distributed vector database with dense, sparse and hybrid search at scale
Chroma
Embedding database with a four-function API for Python and JavaScript
| What we compare | Milvus | Chroma |
|---|---|---|
| Score parts, out of 100 | ||
| Adoption | 82, widely used | 62, popular |
| Freshness | 100, active | 100, active |
| Maintenance | 84, healthy | 37, patchy |
| Easy to run | 67, easy | 50, easy |
| Agent-ready | 70, partly | 70, partly |
| Facts from GitHub and the README | ||
| Stars | 46.3k | 29.5k |
| License | Apache-2.0 (permissive) | Apache-2.0 (permissive) |
| Last commit | Oct 2026 | Oct 2026 |
| Last release | Sep 2026 | May 2026 |
| Language | Not stated | Not stated |
| Docker | Yes | Yes |
| GPU | Optional | Not needed |
| arm64 or Apple Silicon | Mentioned | Not stated |
Milvus
Milvus is a distributed vector database (Go and C++, LF AI & Data Foundation) that separates compute and storage on Kubernetes, with a Standalone Docker mode and pip-installable Milvus Lite. It offers HNSW, IVF, FLAT, SCANN and DiskANN indexes, GPU CAGRA, sparse BM25 and learned-sparse vectors for hybrid search, metadata filtering, multi-tenancy, hot/cold storage, auth, TLS and RBAC.
Who it is for: teams needing billion-scale vector search on Kubernetes
Strengths
- Index types HNSW, IVF, FLAT, SCANN, DiskANN plus GPU CAGRA
- Dense, sparse (BM25, SPLADE, BGE-M3) and hybrid search in one collection
- Multi-tenancy at database, collection, partition or partition-key level
- Mandatory auth, TLS and RBAC; Milvus Lite via pip for local dev
Weaknesses
- Distributed mode is Kubernetes-native with several microservices to operate
- No port, RAM or Docker command in the README; install lives in docs
- Zilliz is the major contributor and promotes its managed cloud
- Source build needs Go 1.21+, CMake, GCC 11+ and Python 3.8 to 3.11
- GPU optional
- Compose
- Compose runs Milvus, MinIO
- Models: any embedding model or service; pymilvus[model] wraps embedding and reranking models
Chroma
Chroma is an embedding database with a four-function API (create collection, add, query, get) that tokenizes, embeds and indexes documents itself or accepts your own vectors, with metadata and document filters. It runs in-memory or persisted from the Python or JavaScript client, or as a server via chroma run; the repo ships a Dockerfile and compose file. Chroma Cloud is the hosted serverless version.
Who it is for: developers prototyping RAG who want the simplest API
Strengths
- Four-function API: create collection, add, query, get
- Handles tokenization, embedding and indexing; own vectors optional
- Python and JavaScript clients; chroma run for client-server mode
- Weekly tagged releases on Mondays with hotfixes in between
Weaknesses
- README is thin: no port, resource or auth guidance
- Hosted Chroma Cloud is the headline; self-hosting detail lives in docs
- Row-based API marked coming soon
- No multi-user auth described in the README
- no GPU
- Docker + Compose
- Models: built-in embedding or user-supplied vectors