Milvus
Cloud-native, distributed vector database built for billion-scale ANN search.
About
Milvus is an Apache-2.0, cloud-native vector database (Go) designed for large-scale approximate nearest-neighbor search, with storage/compute separation, sharding, and GPU index support. Milvus Lite — bundled inside pymilvus — embeds the engine in a local file for zero-infrastructure prototyping, while the full standalone/clustered deployment targets production scale.
It is maintained by Zilliz with one of the largest open-source vector-search communities, broad SDK support (Python, Java, Go, Node, C#), and documented integrations across LangChain, LlamaIndex, and Semantic Kernel.
What it can do
- • Billion-scale ANN search with HNSW, IVF, DiskANN, and GPU-accelerated indexes
- • Milvus Lite: embedded, file-backed mode for notebooks and CI with zero infrastructure
- • Rich scalar filtering (metadata predicates) combined with vector search
- • Dynamic schema, JSON fields, and multi-vector / hybrid search support
- • Horizontal scaling with separated storage, compute, and coordination
- • RBAC, API-key auth, multi-tenancy via namespaces, backup and time-travel queries
- • Full-text / sparse-vector and BM25 support alongside dense vectors
- • SDKs for Python, Java, Go, Node.js, and C#, plus REST and gRPC APIs
Setup
- Install the client (bundles Milvus Lite, no server needed):
pip install -U pymilvus(Python 3.8+) - Create a local file-backed database:
from pymilvus import MilvusClient; client = MilvusClient("milvus_demo.db") - Create a collection:
client.create_collection(collection_name="demo_collection", dimension=768)(default metric is COSINE) - Insert entities:
client.insert(collection_name="demo_collection", data=[{"id": 0, "vector": [...], "text": "...", "subject": "history"}]) - Search with metadata filtering:
client.search(collection_name="demo_collection", data=[query_vector], limit=2, output_fields=["text", "subject"], filter="subject == 'history'") - For production, run the standalone Docker stack with the official compose file:
wget https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/docker/standalone/docker-compose.yml && docker compose up -d
Prerequisites
Python 3.8+ for Milvus Lite; for the standalone Docker stack, ~8 GB free RAM and Docker Compose; embedding vectors supplied by you (or generate them with `pip install "pymilvus[model]"`).
Use cases
Works with
Trust score — 9/10
Scored 9/10 (verified tier, metrics-v1). Evidence: 46,364 GitHub stars (log-scaled vs catalog peers); blended with ~3,698,902 monthly package downloads; last push 0d ago; 42 releases/12mo; 1407 open issues. Manual review: milvus.io blocks bots — officialUrl points to GitHub; server telemetry opt-out unverified; billion-scale claims third-party. License: Apache-2.0.
★ 46,364 GitHub stars
How the trust score is built
Full methodology →- Adoption · stars/downloads, log-scaled vs peers
- 8.9/10
- Maintenance · recency, releases, issue load
- 8.8/10
- Openness · license + docs
- 10.0/10
- Manual review · sanity read + red-flag check
- 9.0/10
- · 46,364 GitHub stars (log-scaled vs catalog peers)
- · blended with ~3,698,902 monthly package downloads
- · last push 0d ago; 42 releases/12mo; 1407 open issues
- · manual review: milvus.io blocks bots — officialUrl points to GitHub; server telemetry opt-out unverified; billion-scale claims third-party
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.