Milvus vs Qdrant
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
Qdrant
Rust vector database with payload filtering, REST and gRPC
| What we compare | Milvus | Qdrant |
|---|---|---|
| Score parts, out of 100 | ||
| Adoption | 82, widely used | 72, popular |
| Freshness | 100, active | 100, active |
| Maintenance | 84, healthy | 82, healthy |
| Easy to run | 67, easy | 33, some setup |
| Agent-ready | 70, partly | 0, none |
| Facts from GitHub and the README | ||
| Stars | 46.3k | 35k |
| License | Apache-2.0 (permissive) | Apache-2.0 (permissive) |
| Last commit | Oct 2026 | Oct 2026 |
| Last release | Sep 2026 | Oct 2026 |
| Language | Not stated | Not stated |
| Docker | Yes | Yes |
| GPU | Optional | Optional |
| 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
Qdrant
Qdrant is a Rust vector database exposing REST (OpenAPI 3.0) and gRPC on port 6333 for storing points (vectors plus JSON payload) and searching with dense, sparse and multivector (ColBERT) embeddings, rich payload filters and hybrid fusion (RRF, DBSF). It adds quantization, on-disk storage, sharding and replication, multitenancy, GPU-accelerated indexing and a web UI. Qdrant Edge runs the same engine embedded in-process.
Who it is for: developers wanting a filter-heavy vector store with gRPC
Strengths
- Dense, sparse and multivector (ColBERT) search with RRF and DBSF fusion
- Quantization cuts RAM up to 97 percent; on-disk storage and io_uring
- REST with OpenAPI 3.0 spec plus gRPC; six official clients
- Sharding and replication with zero-downtime collection resize
Weaknesses
- Default docker run has no auth and binds all interfaces
- GPU acceleration covers indexing only; search runs on CPU
- Qdrant Edge embedded mode is Python and Rust only
- Sharding and tenant isolation require upfront design
- GPU optional
- Docker
- Models: any embedding model; dense, sparse and late-interaction (ColBERT) vectors
- port 6333