Definition
Milvus ist eine Open-Source-Vektordatenbank, die für das Speichern und Abfragen hochdimensionaler Embedding-Vektoren in großem Maßstab konzipiert ist. Im Gegensatz zu traditionellen Datenbanken, die nach exakten Werten suchen, führt Milvus Approximate Nearest Neighbor (ANN) Suchen durch, um Vektoren zu finden, die einem Abfragevektor ähnlich sind. Es unterstützt Milliarden von Vektoren mit Millisekunden-Abfragelatenz. Milvus implementiert mehrere Indextypen (IVF, HNSW, ANNOY, GPU-Indizes), unterstützt hybride Suche und bietet verteiltes Deployment über Kubernetes.
Warum es wichtig ist
Milvus ermöglicht kritische KI-Fähigkeiten:
- RAG-Anwendungen — speichert Wissensbasis-Embeddings für Retrieval
- Semantische Suche — findet bedeutungsähnliche Inhalte, nicht nur Keywords
- Empfehlungssysteme — matcht Benutzer mit ähnlichen Items
- Bild-/Audio-Suche — findet visuell oder akustisch ähnliche Medien
- Anomalie-Erkennung — identifiziert Ausreißer über Vektordistanz
- Produktionsmaßstab — verarbeitet Milliarden Vektoren mit niedriger Latenz
Wie es funktioniert
┌────────────────────────────────────────────────────────────┐
│ MILVUS │
├────────────────────────────────────────────────────────────┤
│ │
│ WAS MILVUS MACHT: │
│ ───────────────── │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Traditionelle DB: │ │
│ │ ┌──────────────────┐ ┌─────────────────────┐ │ │
│ │ │ Abfrage: │ │ Ergebnis: │ │ │
│ │ │ WHERE farbe = │ → │ Nur exakte │ │ │
│ │ │ 'blau' │ │ Übereinstimmungen │ │ │
│ │ └──────────────────┘ └─────────────────────┘ │ │
│ │ │ │
│ │ │ │
│ │ Vektor-DB (Milvus): │ │
│ │ ┌──────────────────┐ ┌─────────────────────┐ │ │
│ │ │ Abfrage: │ │ Ergebnis: │ │ │
│ │ │ Embedding von │ → │ ÄHNLICHSTE │ │ │
│ │ │ "Meeressonnenu."│ │ Vektoren │ │ │
│ │ └──────────────────┘ └─────────────────────┘ │ │
│ │ │ │
│ │ Findet Bilder von Stränden, Dämmerung, blau/ │ │
│ │ orangenen Szenen—semantisch verwandt │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ │
│ MILVUS ARCHITEKTUR: │
│ ─────────────────── │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ MILVUS CLUSTER │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ Zugriffsschicht │ │ │
│ │ │ │ │ │
│ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │
│ │ │ │ Proxy │ │ Proxy │ │ Proxy │ │ │ │
│ │ │ │ Node │ │ Node │ │ Node │ │ │ │
│ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │
│ │ │ Load Balancing, Authentifizierung │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ Koordinator-Schicht │ │ │
│ │ │ │ │ │
│ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │
│ │ │ │ Root │ │ Query │ │ Data │ │ │ │
│ │ │ │ Coord │ │ Coord │ │ Coord │ │ │ │
│ │ │ └─────────┘ └─────────┘ └─────────┘ │ │ │
│ │ │ Verwaltet Cluster-Status, Scheduling │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ Worker-Schicht │ │ │
│ │ │ │ │ │
│ │ │ ┌─────────────────┐ ┌──────────────────┐ │ │ │
│ │ │ │ Query Nodes │ │ Data Nodes │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ Lädt Vektoren │ │ Insert/Delete │ │ │ │
│ │ │ │ Führt Suche aus│ │ Index-Aufbau │ │ │ │
│ │ │ └─────────────────┘ └──────────────────┘ │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ Speicher-Schicht │ │ │
│ │ │ │ │ │
│ │ │ ┌──────────────┐ ┌───────────────────┐ │ │ │
│ │ │ │ etcd │ │ Object Storage │ │ │ │
│ │ │ │ (Metadaten) │ │ (MinIO/S3) │ │ │ │
│ │ │ └──────────────┘ │ (Vektordaten) │ │ │ │
│ │ │ └───────────────────┘ │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ │
│ INDEX-TYPEN: │
│ ──────────── │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ IVF_FLAT (Inverted File) │ │
│ │ ├─ Clustert Vektoren, durchsucht relevante Cluster│ │
│ │ └─ Beste für: <10M Vektoren │ │
│ │ │ │
│ │ HNSW (Hierarchical Navigable Small World) │ │
│ │ ├─ Graphbasiert, exzellenter Recall │ │
│ │ └─ Beste für: Hohe Genauigkeitsanforderungen │ │
│ │ │ │
│ │ IVF_PQ / IVF_SQ8 │ │
│ │ ├─ Quantisierte Versionen, weniger Speicher │ │
│ │ └─ Beste für: Speicherbeschränkte Deployments │ │
│ │ │ │
│ │ GPU-Indizes │ │
│ │ ├─ Nutzt GPU für massive Beschleunigung │ │
│ │ └─ Beste für: Milliarden-Skala Datasets │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────────────┘
Häufige Fragen
F: Wann Milvus vs Pinecone verwenden?
A: Milvus für Self-Hosted-Kontrolle, kein Vendor Lock-in, Kostenoptimierung. Pinecone für vollständig verwaltete Einfachheit. Milvus erfordert Infra-Expertise; Pinecone abstrahiert dies.
F: Wie skaliert Milvus?
A: Horizontal über Kubernetes. Separate Skalierung von Query Nodes (Suchdurchsatz), Data Nodes (Ingestion) und Storage. Für Milliarden Vektoren konzipiert.
F: Welchen Indextyp wählen?
A: HNSW für beste Genauigkeit. IVF_FLAT für ausgewogene Performance. IVF_PQ/SQ8 für Speicherbeschränkungen. GPU-Indizes für Milliarden-Skala.
Verwandte Begriffe
- Vektordatenbank — allgemeine Kategorie
- Embeddings — was Milvus speichert
- Weaviate — alternative Vektordatenbank
- FAISS — einfachere Vektorbibliothek
Referenzen
Wang et al. (2021), “Milvus: A Purpose-Built Vector Data Management System”, SIGMOD. [Original Milvus Paper]
Milvus Documentation (2024), “Milvus Architecture Overview”, Milvus. [Offizielle Dokumentation]
Zilliz (2023), “Milvus 2.0: Building a Cloud-Native Vector Database”, Zilliz Blog. [Architektur-Evolution]
LF AI & Data Foundation (2024), “Milvus Project”, Linux Foundation. [Projekt-Governance]
References
Wang et al. (2021), “Milvus: A Purpose-Built Vector Data Management System”, SIGMOD. [Original Milvus paper]
Milvus Documentation (2024), “Milvus Architecture Overview”, Milvus. [Official documentation]
Zilliz (2023), “Milvus 2.0: Building a Cloud-Native Vector Database”, Zilliz Blog. [Architecture evolution]
LF AI & Data Foundation (2024), “Milvus Project”, Linux Foundation. [Project governance]