Milvus

Active
GitHub Go Apache-2.0

Description

Milvus is a high-performance open-source vector database built for AI applications. It supports storage, indexing, and similarity search of large-scale vector data, ideal for RAG, recommendation systems, and more.

Key Features

  • High-performance Vector Search — HNSW, IVF, FLAT, DiskANN index types with CPU/GPU hardware acceleration
  • Distributed Architecture — Compute-storage separation, K8s-native, horizontal scaling with high availability
  • Multi-tenancy Support — Isolation at database, collection, or partition level, supporting millions of tenants
  • Hybrid Search — Vector search combined with scalar filtering, metadata filtering and range search
  • Milvus Lite — Lightweight Python library, quick local startup via pip install
  • Real-time Streaming Updates — Real-time data insertion and index updates keeping data fresh

Use Cases

💡 Build large-scale RAG systems providing external knowledge retrieval for LLMs
💡 Implement similar item retrieval and personalized recommendations in recommendation systems
💡 Build multimodal search systems supporting similarity search for text, images, and unstructured data
💡 Deploy enterprise semantic search engines with real-time queries on billions of vectors
💡 Set up vector storage infrastructure for AI applications managing embeddings and metadata

Strengths & Limitations

Strengths

  • Actively maintained, recent updates
  • High community interest (45.7k stars)
  • Permissive open-source license (Apache-2.0)

Categories

Quick Start

# Install pymilvus
pip install -U pymilvus

# Create local vector database with Milvus Lite
from pymilvus import MilvusClient

client = MilvusClient("milvus_demo.db")

# Create a collection
client.create_collection(
    collection_name="demo",
    dimension=768,
)

# Insert data
client.insert(collection_name="demo", data=data)

# Perform vector search
res = client.search(
    collection_name="demo",
    data=query_vectors,
    limit=5,
)

Related Projects

Qdrant

34.0k · Rust
Active A

Qdrant is a high-performance, massive-scale vector database and vector search engine written in Rust, built for the next generation of AI applications.

vector-databaseragsimilarity-search +2
  • · High-performance ANN — HNSW and scalar quantization for millisecond vector search at scale
  • · Rich filtering — payload filters, geo queries and hybrid sparse-dense retrieval
  • · Multimodal & multi-vector — sparse vectors, named vectors and recommendation-style multi-vector recall

RAGatouille

4.0k · Python
Stale C

Easily use and train state of the art late-interaction retrieval methods (ColBERT) in any RAG pipeline. Designed for modularity and ease-of-use, backed by research.

ragpythonembedding +1
  • · ColBERT late-interaction retrieval: wraps advanced ColBERT models into simple APIs, enabling late-interaction retrieval methods in RAG pipelines without deep IR research knowledge
  • · End-to-end training and fine-tuning: built-in RAGTrainer and TrainingDataProcessor with automatic deduplication, positive/negative pairing and hard negative mining, supporting training from scratch or fine-tuning pretrained models
  • · Modular composable architecture: DataProcessor, NegativeMiner and other components can be used independently, with support for custom NegativeMiner integration into training pipelines

HelixDB

5.7k · Rust
Active A+

An open-source graph-vector database built from scratch in Rust, combining graph database and vector retrieval capabilities to provide AI agents with unified storage for both knowledge graphs and semantic search.

graph-databasevector-databaserag +2
  • · Graph-vector database combining graph traversal and vector similarity search in one system
  • · Rust-based engine for high performance with low resource consumption
  • · TypeScript and Rust SDKs with declarative query DSL for building queries

VectorAdmin

2.2k · TypeScript
Stale C

VectorAdmin is the universal tool suite for vector database management. Manage Pinecone, Chroma, Qdrant, Weaviate and more vector databases with an intuitive web interface for data import, querying, and maintenance.

vector-databaseadminmanagement +2
  • · Universal vector database management with support for Pinecone, Chroma, Qdrant, and Weaviate
  • · Multi-user instance support with permission-based data access controls
  • · Atomic view, update, and delete of individual text embedding chunks

Related Articles