Milvus vs Chroma

Two of the top vector databases, side by side: score, setup, license, activity and what each review found.

11st of 8 in Vector databases

Milvus

Distributed vector database with dense, sparse and hybrid search at scale

33rd of 8 in Vector databases

Chroma

Embedding database with a four-function API for Python and JavaScript

64 out of 100
Milvus vs Chroma: score parts and facts
What we compareMilvusChroma
Score parts, out of 100
Adoption82, widely used62, popular
Freshness100, active100, active
Maintenance84, healthy37, patchy
Easy to run67, easy50, easy
Agent-ready70, partly70, partly
Facts from GitHub and the README
Stars46.3k29.5k
LicenseApache-2.0 (permissive)Apache-2.0 (permissive)
Last commitOct 2026Oct 2026
Last releaseSep 2026May 2026
LanguageNot statedNot stated
DockerYesYes
GPUOptionalNot needed
arm64 or Apple SiliconMentionedNot 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

More in Vector databases