milvus-io/milvus

Milvus is a high-performance, cloud-native vector database built for scalable vector ANN search

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 27 minutes ago
Added to GitGenius on March 7th, 2024
Created on September 16th, 2019
Open Issues & Pull Requests: 1,332 (+0)
Number of forks: 4,191
Total Stargazers: 45,771 (+0)
Total Subscribers: 334 (+0)

Repository Insights (GitGenius)

Median issue/PR response: N/A
Mean response time: 17.2 days
90th percentile: 2.9 days
Tracked items: 6,213

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 76% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Almost all tracked open issues have seen activity in the last three months. Only 4% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 897
New in 7 days: 68
Closed in 7 days: 72
Avg open age: 308 days
Stale 30+ days: 382
Stale 90+ days: 347

Recent activity

Opened in 7 days: 68
Closed in 7 days: 48
Comments in 7 days: 111
Events in 7 days: 568

Top labels

  • kind/bug (9,714)
  • triage/accepted (6,304)
  • stale (4,808)
  • kind/enhancement (2,711)
  • needs-triage (1,630)
  • priority/critical-urgent (1,189)
  • kind/feature (1,046)
  • triage/needs-information (754)

Detailed Description

Milvus is a high-performance vector database written in Go and C++ that enables scalable vector similarity search for AI applications. The system is designed to efficiently organize and search vast amounts of unstructured data such as text, images, and multi-modal information by storing and indexing vector embeddings alongside scalar data types like integers, strings, and JSON objects.

The architecture separates compute and storage layers, allowing horizontal scaling across distributed Kubernetes clusters. This design enables Milvus to handle tens of thousands of concurrent search queries on billions of vectors while maintaining real-time data freshness through streaming updates. The system offers both a fully distributed deployment mode for production environments and a Standalone mode for single-machine deployments, with Milvus Lite providing a lightweight Python-based option for quick prototyping via pip installation.

Milvus implements hardware acceleration for both CPU and GPU processing to achieve high vector search performance. The system supports multiple vector index types optimized for different scenarios, including HNSW, IVF, FLAT brute-force search, SCANN, and DiskANN, with quantization-based variations and memory-mapped file support. Beyond dense vector search, Milvus natively supports sparse vectors for full-text search using BM25 and learned sparse embeddings like SPLADE and BGE-M3, enabling hybrid search capabilities that combine semantic and full-text search within the same collection.

Milvus provides flexible multi-tenancy strategies with isolation at the database, collection, partition, or partition key level, allowing a single cluster to serve hundreds to millions of tenants. The system implements hot and cold storage mechanisms to optimize costs by keeping frequently accessed data in memory or on SSDs while storing less-accessed data on slower, more cost-effective storage. Enterprise security features include mandatory user authentication, TLS encryption for network communications, and Role-Based Access Control for fine-grained permission management.

A fully managed cloud service called Zilliz Cloud offers Serverless, Dedicated, and Bring-Your-Own-Cloud deployment options. The repository overlaps with contributors from microsoft/vscode, microsoft/typescript, and rust-lang/rust, indicating cross-project collaboration. Milvus powers production applications including text and image search, Retrieval-Augmented Generation systems, and recommendation engines for both startups and enterprises.