About this project
Milvus is a distributed vector database written in Go and C++ that enables efficient organization and searching of vast amounts of unstructured data, including text, images, and multi-modal information. It is designed for high scalability and availability, utilizing a K8s-native architecture that separates compute and storage to allow independent horizontal scaling.
Key capabilities include:
- Vector Search & Indexing: Supports multiple index types such as HNSW, IVF, FLAT, SCANN, and DiskANN, with hardware acceleration for both CPU and GPU (including NVIDIA CAGRA).
- Hybrid Search: Natively supports both dense vectors for semantic search and sparse vectors for full-text search (BM25, SPLADE, BGE-M3), allowing for reranked hybrid results.
- Data Management: Features multi-tenancy isolation, hot/cold storage mechanisms for cost-effectiveness, and support for scalar data types (integers, strings, JSON) for metadata filtering.
- Security: Implements mandatory user authentication, TLS encryption, and Role-Based Access Control (RBAC).
- Deployment Options: Available as a distributed cluster, a standalone Docker deployment, or a lightweight Python version (Milvus Lite).
Milvus integrates with popular AI frameworks like LangChain, LlamaIndex, OpenAI, and HuggingFace, and provides a Python SDK (pymilvus) for data ingestion and querying.