Fortgeschritten 11 Min.Stack

Milvus: die Vektordatenbank für große volumes

Direkte Antwort

Milvus ist eine in Go und C++ geschriebene Open-Source-Vektordatenbank unter der Apache-2.0-Lizenz (über 46.000 GitHub-Sterne Ende September 2026, Version 3.0.2), ausgelegt für große Datenmengen: Milliarden von Vektoren und eine verteilte Architektur, die Rechenleistung und Speicherung trennt. Eine schlankere Variante, Milvus Lite, lässt sich mit pip install pymilvus installieren und arbeitet mit einer einfachen lokalen Datei — nützlich für den Einstieg, aber für einen überschaubaren lokalen Korpus selten notwendig.

Milvus ist eine Open-Source-Vektordatenbank, die für große Datenmengen ausgelegt ist: Milliarden von Vektoren, verteilte Bereitstellung und eine sehr große Auswahl an Indizes. Das in Go und C++ geschriebene Projekt hatte Ende September 2026 bei Version 3.0.2 mehr als 46.000 Sterne auf GitHub. Für einen einzelnen Rechner gibt es auch eine schlankere Variante, Milvus Lite. Damit können Sie klein anfangen, ohne später das Werkzeug wechseln zu müssen. Bleibt die Frage, ob Ihr Korpus diese Leistungsfähigkeit rechtfertigt – für viele lokale Projekte lautet die Antwort nein, und das ist eine nützliche Information.

Von Mohamed Meguedmi·Aktualisierung 2026-09-28·Unter Windows, macOS und Linux getestet

#Was Milvus anstrebt

Die meisten Vektordatenbanken richten sich an Teamprojekte. Milvus ist auf den industriellen Maßstab ausgelegt: Trennung von Datenspeicherung und Rechenleistung, native horizontale Skalierung auf Kubernetes und ein Katalog von Indizes, mit dem sich Genauigkeit, Speicherbedarf und Geschwindigkeit fein gegeneinander abwägen lassen. Das Projekt gibt an, Zehntausende von Anfragen auf Milliarden von Vektoren verarbeiten zu können und die Daten gleichzeitig durch Streaming-Updates in Echtzeit aktuell zu halten. Das ist eine Architekturentscheidung, nicht bloß eine Sammlung von Funktionen.

Dieser Anspruch hat einen unmittelbaren Nachteil: Bei einem Korpus mit fünfzigtausend Textpassagen kommt diese Leistungsfähigkeit nicht zum Tragen, die Komplexität macht sich dagegen sofort bemerkbar. Die Frage sollte daher nicht lauten: „Ist das die beste Vektordatenbank?“, sondern: „Wird mein Korpus die Größe erreichen, bei der diese Entscheidungen eine Rolle spielen?“

Das Projekt präsentiert sich als eine Datenbank, auf die KI-Entwickler beim Aufbau von Anwendungen für die Text- und Bildsuche, Retrieval-Augmented Generation und Empfehlungssystemen vertrauen können, und gibt an, zahlreiche Unternehmen bei als kritisch eingestuften Anwendungen zu unterstützen. Diese Positionierung verdeutlicht die Zielgruppe: Teams, die ein Produkt entwickeln, das wachsen soll, und keine persönlichen Skripte zur Dokumentensuche in einigen Hundert PDF-Dateien.

#Eine komponentenbasierte Architektur

Das RAG-Local-Kit

Ihre Dokumente, Ihre KI: ein zuverlässiges lokales RAG für Ihre PDFs, Notizen und E-Mails – ohne Daten in die Cloud zu senden.

  • Lebenslanger Online-Zugang
  • PDF + Dateien
  • Erstattung binnen 30 Tagen

Bei vollständigem Deployment ist Milvus kein einzelner Prozess, sondern ein Verbund: Abfrageknoten, Datenknoten, ein Koordinationsdienst, ein Objektspeicher und ein Nachrichtenprotokoll. Jede Komponente lässt sich unabhängig dimensionieren – das Projekt hebt hervor, dass sich die Abfrageknoten für eine hohe Leselast und die Datenknoten für eine hohe Schreiblast jeweils separat skalieren lassen. Genau das ist im großen Maßstab erwünscht, und genau darauf kann man auf einem Arbeitsplatzrechner verzichten. Die zustandslosen Microservices auf Kubernetes ermöglichen außerdem eine schnelle Wiederherstellung nach einem Ausfall. Die Unterstützung von Replikaten verbessert die Fehlertoleranz zusätzlich, indem Datensegmente auf mehrere Abfrageknoten geladen werden. Diese Trennung von Rechenleistung und Speicherung unterscheidet eine für den industriellen Maßstab konzipierte Datenbank von einer Datenbank für einen einzelnen Dienst: Sie verursacht laufende Betriebskosten, selbst bei geringem Datenverkehr, was nur wenige Vergleiche vor dem Deployment erwähnen.

i
Es gibt eine schlanke Variante: Milvus Lite
pip install -U pymilvus installe le SDK Python officiel ; pip install "pymilvus[milvus-lite]" ajoute la variante allégée. Il suffit ensuite d'instancier client = MilvusClient("milvus_demo.db") pour obtenir une base vectorielle locale dans un fichier, sans rien déployer. Le code écrit contre cette version reste valable si vous passez un jour au déploiement complet en changeant l'URI de connexion : c'est le principal argument pour commencer par Milvus plutôt que d'y migrer plus tard.

#Das Minimum in Python mit Milvus Lite

  1. 01
    Verbinden
    Mit from pymilvus import MilvusClient und anschließend client = MilvusClient("milvus_demo.db") öffnen Sie eine lokale Datenbank in einer Datei; ersetzen Sie das Argument durch eine Server-URI, wechseln Sie zu einer vollständigen Bereitstellung, ohne den restlichen Code zu ändern.
  2. 02
    Eine Sammlung erstellen
    client.create_collection(collection_name="demo_collection", dimension=1024) — die Dimension muss genau der Dimension Ihres Embedding-Modells entsprechen.
  3. 03
    Die Daten einfügen
    res = client.insert(collection_name="demo_collection", data=data), wobei data eine Liste von Dictionaries ist, die jeweils einen Vektor und dessen Metadaten enthalten.
  4. 04
    Suchen
    res = client.search(collection_name="demo_collection", data=vecteurs_requete, limit=5, output_fields=["text"]) liefert die fünf nächstgelegenen Textpassagen mit den angeforderten Feldern.

Das Projekt hebt seine Integration mit gängigen KI-Tools hervor — LangChain, LlamaIndex, OpenAI, Hugging Face — und ist damit nach Aussage seiner Autoren ein Vektorspeicher, der sich für Retrieval-gestützte Generierung eignet. Milvus arbeitet sowohl mit Open-Source-Embedding-Modellen als auch mit Embedding-Diensten für Text, Bilder und Videos und stellt ein Hilfsprogramm (pymilvus[model]) bereit, mit dem sich unstrukturierte Daten in Vektoren umwandeln lassen, ohne selbst den Code für den Modellaufruf schreiben oder die Clientbibliothek jedes Anbieters separat verwalten zu müssen.

#Die Indizes und die Wahl des passenden Index

Nützliche Indexfamilien im praktischen Einsatz
IndexAbwägungQuand
Exakt (FLAT)Perfekte Genauigkeit, vollständiger DurchlaufBis zu einigen Zehntausend Vektoren
Graph (HNSW)Schnelle Abfragen, hoher SpeicherbedarfDer sinnvolle Standard unter einer Million
Invertierte Partitionen (IVF)Schneller Aufbau, Einstellungen müssen angepasst werdenGroße Datenmengen, begrenzter Speicher
SCANNKomprimierte, leistungsstarke Vektor-SucheAlternativer Kompromiss zwischen Speicherbedarf und Geschwindigkeit zu IVF-PQ
Auf Datenträger (DiskANN)Kapazität auf Kosten der LatenzKorpus, dessen Größe den verfügbaren Arbeitsspeicher deutlich übersteigt
GPU (CAGRA)Hardwarebeschleunigter Aufbau und SucheSehr große Datenmengen, dedizierte GPU für die Indexierung verfügbar

Bei einem lokalen Dokumentenkorpus genügt es meistens, sich eine einzige Zahl zu merken: Unter einer Million Vektoren liegen die Unterschiede zwischen den sechs Indexfamilien im Millisekundenbereich, nicht im Minutenbereich. Die Mühe, die in die Wahl der richtigen Einstellung fließt, wäre fast immer an anderer Stelle im Projekt besser investiert.

Der Rat, der am meisten Zeit spart, bleibt überall derselbe: mit der exakten Suche beginnen. Approximative Indizes lösen ein Skalierungsproblem. Wer sie einführt, bevor dieses Problem auftritt, handelt sich einzustellende Parameter und einen zu messenden Recall ein – im Austausch für Millisekunden, die niemand bemerkt hat. Milvus dokumentiert ausdrücklich diese sechs Familien – HNSW, IVF, FLAT, SCANN, DiskANN und quantisierte Varianten – als jeweils für ein anderes Szenario optimiert, mit GPU-Hardwareunterstützung über CAGRA von NVIDIA für die Indexierung sehr großer Datenmengen. Das Projekt ergänzt diese Indizes um Metadatenfilterung und Bereichssuche, die auf derselben Ebene wie die Vektorsuche selbst optimiert sind, statt als separate Schicht implementiert zu werden, die das Endergebnis verlangsamen würde.

#Was Milvus bei großen Datenmengen auszeichnet

Neben den Indizes erklären mehrere Funktionen, warum große Organisationen Milvus einer einfacheren Alternative vorziehen. Die Mandantenfähigkeit lässt sich auf vier möglichen Isolationsebenen konfigurieren — Datenbank, Collection, Partition oder Partitionsschlüssel. Dadurch kann ein einzelner Cluster einige Dutzend bis hin zu Millionen Mandanten bedienen, ohne Einbußen bei der Suchleistung oder der Granularität der Zugriffskontrolle. Bei der Speicherung in heißen und kalten Speicherbereichen werden häufig abgerufene Daten im Arbeitsspeicher oder auf SSDs abgelegt, während selten abgerufene Daten auf langsamere, kostengünstigere Speichermedien ausgelagert werden. Das senkt die Kosten, ohne die Leistung kritischer Aufgaben zu beeinträchtigen.

Bei der Suche unterstützt Milvus nativ die Volltextsuche mit BM25 sowie gelernte Sparse-Embeddings wie SPLADE und BGE-M3, zusätzlich zur semantischen Suche mit dichten Vektoren. Sparse-Vektoren und dichte Vektoren können in derselben Collection nebeneinander bestehen; Reranking-Funktionen führen die Ergebnisse mehrerer Abfragen zusammen – eine hybride Suche, die vom Ansatz her mit dem Angebot von Qdrant vergleichbar ist, hier aber auf BM25 statt auf einer generischen Zusammenführung von Scores basiert. Bei der Sicherheit hebt das Projekt die verpflichtende Authentifizierung, die TLS-Verschlüsselung der Kommunikation und die rollenbasierte Zugriffskontrolle (RBAC) hervor: drei Elemente, die erwartet werden, sobald eine Datenbank mehrere Anwendungen oder Teams bedient, und die für eine Instanz, die nur auf localhost lauscht, deutlich weniger kritisch sind.

#Lokal: Was das bedeutet

Ressourcen
Eine vollständige Bereitstellung erfordert mehrere Container und mehrere Gigabyte Arbeitsspeicher, noch bevor Ihr Sprachmodell hinzukommt: Koordinationsdienst, Abfrageknoten, Datenknoten, Objektspeicher und Nachrichtenlog laufen jeweils separat.
Speicherbedarf der Vektoren
Etwa 4 KB pro Vektor mit 1.024 Dimensionen bei voller Präzision, ohne den Speicherbedarf des Indexes. Diese Rechnung bestimmt die Architektur, nicht die Funktionen – und sie gilt unabhängig davon, ob Sie Milvus, Qdrant oder pgvector verwenden.
Betrieb
Backups, Versionsupdates, Überwachung: Eine echte verteilte Datenbank braucht jemanden, der ihren Betrieb fachkundig betreut. Das Milvus-Ökosystem umfasst Attu, eine grafische Verwaltungsoberfläche, und Birdwatcher für das System-Debugging – zwei Werkzeuge, die dennoch Kenntnisse der zugrunde liegenden Architektur voraussetzen.
Die GPU bleibt dem Modell vorbehalten
Die Dokumentenkodierung und die Inferenz konkurrieren bereits um die Grafikkarte; die Vektorsuche beansprucht dagegen vor allem Prozessor und Arbeitsspeicher, außer wenn bei sehr großen Datenmengen der Aufbau eines GPU-Index über CAGRA ausdrücklich aktiviert ist.

#Wann Milvus die richtige Wahl ist

Die richtige Frage lautet nie „Welche Datenbank bietet die meisten Funktionen?“, sondern „Welche dieser Funktionen wird mein Projekt tatsächlich nutzen?“. Mandantenfähigkeit auf vier Ebenen, Hot- und Cold-Storage, RBAC und hybride BM25-Suche sind für Organisationen gedacht, die Tausende von Nutzern bedienen und Compliance-Anforderungen erfüllen müssen; auf einem persönlichen Rechner oder bei internen Werkzeugen für ein kleines Team bleiben diese Mechanismen ungenutzt, während der Aufwand für ihre Konfiguration weiterhin besteht. Milvus ist gerechtfertigt, wenn die Entwicklung des Projekts — nicht sein aktueller Stand — innerhalb eines überschaubaren Zeitraums auf diese Anforderungen zusteuert.

Ehrlich wählen
SituationWas passt
Millionen von Vektoren, kontinuierliches WachstumMilvus
Bedarf an feiner Abwägung von Speicher und GenauigkeitMilvus
Team-Korpus, Filter, einige Hunderttausend PassagenEine einfachere dedizierte Datenbank, wie Qdrant
PostgreSQL bereits vorhandenDie Vektorerweiterung von PostgreSQL (pgvector)
Einprozess-AnwendungEine eingebettete Datenbank oder eine Bibliothek wie FAISS

#FAQ

Ist Milvus kostenlos?+
Ja, die Engine ist Open Source unter der Apache-2.0-Lizenz und lässt sich ohne Lizenzkosten selbst hosten. Das GitHub-Repository hatte Ende September 2026 mehr als 46.000 Sterne. Parallel bietet der Hersteller ein kostenpflichtiges Cloud-Angebot (Zilliz Cloud) an, das für den lokalen Betrieb nicht erforderlich ist.
Braucht man eine GPU?+
Für die übliche Suche nicht, denn sie beansprucht Prozessor und Arbeitsspeicher. Bestimmte Verfahren zum Aufbau eines Index, insbesondere CAGRA von NVIDIA, können eine GPU nutzen, um die Indexierung in sehr großem Maßstab zu beschleunigen. Bei einem lokalen Korpus ist das jedoch nicht der Regelfall.
Kann es auf einem einzigen Rechner verwendet werden?+
Ja, über Milvus Lite, die abgespeckte Variante, die mit pip install "pymilvus[milvus-lite]" installiert wird und mit einer lokalen Datei arbeitet, ohne dass Sie einen Server bereitstellen oder einen Container starten müssen. Die vollständige Bereitstellung mit ihren separaten Knoten, ihrem Koordinationsdienst und ihrem Objektspeicher ist für einen einfachen persönlichen Arbeitsplatzrechner deutlich überdimensioniert.
Milvus oder Qdrant?+
Qdrant ist einfacher zu betreiben, lässt sich mit einem einzigen Docker-Befehl installieren und reicht für die Größenordnung eines Teams bei Weitem aus, mit ebenso umfangreichen Filtermöglichkeiten für Metadaten. Milvus lohnt sich, wenn Sie mehrere Millionen Vektoren, eine verteilte Skalierung auf Kubernetes oder eine Feinabstimmung der Indizes aus sechs verschiedenen Indexfamilien einschließlich GPU-Varianten anstreben.
Wie viel Speicher wird für eine Million Vektoren benötigt?+
Etwa 4 GB bei voller Präzision für Vektoren mit 1.024 Dimensionen, ohne die Indexstruktur, und deutlich weniger mit Produktquantisierung oder einem auf Datenträger gespeicherten Index wie DiskANN. Rechnen Sie den Speicherbedarf des Indexes und der Metadaten hinzu, ebenso den Speicherbedarf des Objektspeichers bei einer vollständigen verteilten Bereitstellung statt im schlanken Modus mit einer einzigen Datei.
Welche Tools ergänzen Milvus im Produktivbetrieb?+
Das offizielle Ökosystem umfasst Attu für die grafische Verwaltung, Birdwatcher für das Debugging, Prometheus und Grafana für die Überwachung, Milvus CDC für die Datensynchronisierung sowie Konnektoren zu Spark, Kafka und Airbyte, um umfangreichere Dateningestionspipelines aufzubauen, die über die Anforderungen einer rein lokalen Nutzung hinausgehen.
Führt Milvus eine hybride Suche wie Qdrant durch?+
Ja, aber mit einem anderen Ansatz: Milvus kombiniert nativ dichte und dünn besetzte Vektoren (BM25, SPLADE, BGE-M3) in derselben Collection und bietet Reranking-Funktionen zur Zusammenführung der Ergebnisse. Diese hybride Suche ist um die klassische Volltextsuche herum aufgebaut, statt auf einer generischen Zusammenführung von Scores wie dem von anderen Vektordatenbanken verwendeten RRF zu beruhen. Dieser Ansatz begünstigt die Genauigkeit bei Abfragen mit exakten Begriffen.
Hat Ihnen dieser Guide geholfen?

Haben Sie Feedback, einen Fehler entdeckt oder möchten Sie etwas präzisieren? Geben Sie uns Bescheid – so wird der Guide für alle besser.