Tools / Milvus
Milvus Review
A distributed, Kubernetes-native vector database for AI applications at scale, with a managed Zilliz Cloud
Last reviewed: October 2026
TL;DR
Milvus is an Apache-2.0 vector database written in Go and C++, under the LF AI & Data Foundation, with Zilliz as its main contributor. It separates compute and storage in a distributed architecture, supports HNSW, IVF, FLAT, SCANN, and DiskANN indexes, multi-tenancy, BM25 full-text search, and hybrid dense and sparse search. You can start with a local file using Milvus Lite and scale to a Kubernetes cluster handling billions of vectors.
License
Apache-2.0
Self-hosted
Yes
Cloud option
Zilliz Cloud (Serverless, Dedicated, and BYOC options)
GitHub stars
46.4K★
Checked October 2026
Category
Database Tools & Vector Search
Pricing
Free to self-host; Zilliz Cloud has a free tier, with plan prices not readable on the pricing page we fetched
What is Milvus?
Milvus is described as a high-performance vector database built for scale, powering AI applications by organizing and searching large volumes of unstructured data such as text, images, and multimodal content. It stores vectors alongside scalar fields (integers, strings, JSON) and supports vector search with metadata filtering or hybrid search. The README's reasons to choose it: a distributed, Kubernetes-native architecture that separates compute from storage, so query nodes and data nodes scale independently; support for all major vector index types (HNSW, IVF, FLAT brute force, SCANN, DiskANN, with quantization variants and mmap) and hardware acceleration on CPU and GPU; flexible multi-tenancy at database, collection, partition, or partition-key level, designed for hundreds to millions of tenants, with hot and cold storage; sparse vector support for full-text search with BM25 and learned sparse embeddings such as SPLADE and BGE-M3, with reranking across multiple searches; and security through mandatory authentication, TLS, and role-based access control. The project is hosted by the LF AI & Data Foundation under Apache-2.0, with Zilliz as the major contributor.
Installation & self-hosting
The quickest start is pip install -U pymilvus and a MilvusClient pointed at a local file, such as milvus_demo.db, using Milvus Lite (installed through pymilvus[milvus-lite]). The same client code connects to a deployed Milvus server or Zilliz Cloud by changing the URI and token. From there you create a collection with a dimension, insert data with an embedding function, and run a search. Production clusters run on Kubernetes, and the documentation covers standalone and distributed deployments, which we did not exercise.
User experience
Interaction is through the Python SDK and other client libraries, with an API of collections, inserts, and searches. Milvus Lite makes prototyping on a laptop straightforward. We did not run queries ourselves.
Key features
- Vector search with metadata filtering and hybrid search
- HNSW, IVF, FLAT, SCANN, and DiskANN indexes
- Distributed, Kubernetes-native architecture with separate compute and storage
- BM25 full-text and sparse vector search
- Multi-tenancy from database to partition-key level
- RBAC, TLS, and mandatory authentication
- Milvus Lite for local prototyping
What Milvus does well
- Scales to billions of vectors with independent read and write scaling
- Covers dense, sparse, and full-text search in one collection
- Easy on-ramp with Milvus Lite and the same client code for production
- Apache-2.0 under a neutral foundation, about 46,400 stars
Where Milvus falls short
- Full distributed deployment is complex and Kubernetes-oriented
- Overkill for small datasets where a PostgreSQL extension is enough
- Zilliz Cloud pricing was not readable on the page we fetched
- Another service to run and secure if you self-host
Pricing
Milvus is free under Apache-2.0. Zilliz Cloud, the managed service, offers Serverless, Dedicated, and BYOC options and a free trial per the README, but the pricing page returned only its title when we fetched it, so we cannot report plan prices.
Milvus vs Pinecone
Pinecone is a fully managed, closed-source vector database service with a simple API and no infrastructure to run. Milvus is open source, can run anywhere from a laptop to a Kubernetes cluster, and offers a managed version, giving you control and portability at the price of operational complexity when self-hosted.
Best for
- AI teams building RAG and semantic search at large scale
- Organizations that want an open-source vector database with a managed option
- Multi-tenant SaaS applications
Not ideal for
- Small projects with a few thousand vectors
- Teams without Kubernetes experience who want a self-hosted production cluster
- Those who want a general-purpose relational database
Alternatives
Final verdict
Milvus is one of the most capable open-source vector databases for large workloads. Prototype with Milvus Lite and choose managed or self-hosted once you know your scale.