Übersicht über die Bereitstellungsoptionen von Milvus

Milvus ist eine hochleistungsfähige, skalierbare Vektordatenbank. Sie unterstützt Anwendungsfälle unterschiedlichster Größenordnungen, von lokal in Jupyter-Notebooks ausgeführten Demos bis hin zu riesigen Kubernetes-Clustern, die mehrere zehn Milliarden Vektoren verarbeiten. Derzeit gibt es drei Milvus-Bereitstellungsoptionen: Milvus Lite, Milvus Standalone und Milvus Distributed.

Milvus Lite

Milvus Lite ist eine Python-Bibliothek, die in Ihre Anwendungen importiert werden kann. Als leichtgewichtige Version von Milvus eignet sie sich ideal für die schnelle Prototypenerstellung in Jupyter-Notebooks oder für den Einsatz auf Smart-Geräten mit begrenzten Ressourcen. Milvus Lite unterstützt dieselben APIs wie andere Milvus-Bereitstellungsarten. Der clientseitige Code, der mit Milvus Lite interagiert, kann auch mit Milvus-Instanzen in anderen Bereitstellungsmodi verwendet werden.

Um Milvus Lite in Ihre Anwendungen zu integrieren, führen Sie „ pip install pymilvus “ aus, um es zu installieren, und verwenden Sie die Anweisung „ MilvusClient("./demo.db") “, um eine Vektordatenbank mit einer lokalen Datei zu instanziieren, in der alle Ihre Daten gespeichert werden. Weitere Informationen finden Sie unter „Milvus Lite ausführen“.

Milvus Standalone

Milvus Standalone ist eine Serverbereitstellung auf einem einzelnen Rechner. Alle Komponenten von Milvus Standalone sind in einem einzigen Docker-Image zusammengefasst, was die Bereitstellung vereinfacht. Wenn Sie eine Produktionsumgebung betreiben, aber lieber auf Kubernetes verzichten möchten, ist der Betrieb von Milvus Standalone auf einem einzelnen Rechner mit ausreichendem Arbeitsspeicher eine gute Option. Standardmäßig nutzt Milvus Standalone „Woodpecker“ (eingebettet) als Nachrichtenwarteschlange, sodass kein separater Messaging-Dienst betrieben werden muss.

Milvus Distributed

Milvus Distributed kann auf Kubernetes-Clustern bereitgestellt werden. Diese Bereitstellung zeichnet sich durch eine cloudnative Architektur aus, bei der die Erfassungslast und Suchanfragen separat von isolierten Knoten verarbeitet werden, was Redundanz für kritische Komponenten ermöglicht. Sie bietet höchste Skalierbarkeit und Verfügbarkeit sowie Flexibilität bei der Anpassung der zugewiesenen Ressourcen für jede Komponente. Milvus Distributed ist die erste Wahl für Unternehmensanwender, die groß angelegte Vektorsuchsysteme im Produktivbetrieb einsetzen. Standardmäßig nutzt Milvus Distributed Woodpecker als Nachrichtenwarteschlange, das als dedizierter Dienst neben Milvus bereitgestellt wird.

Wählen Sie die richtige Bereitstellung für Ihren Anwendungsfall

Die Wahl des Bereitstellungsmodus hängt in der Regel vom Entwicklungsstand Ihrer Anwendung ab:

  • Für schnelles Prototyping

    Wenn Sie schnell einen Prototyp erstellen oder zu Lernzwecken arbeiten möchten, beispielsweise für RAG-Demos (Retrieval Augmented Generation), KI-Chatbots oder multimodale Suche, eignet sich Milvus Lite allein oder in Kombination mit Milvus Standalone. Sie können Milvus Lite in Notebooks für das schnelle Prototyping nutzen und verschiedene Ansätze wie unterschiedliche Chunking-Strategien bei RAG ausprobieren. Möglicherweise möchten Sie die mit Milvus Lite erstellte Anwendung in einer kleinen Produktionsumgebung bereitstellen, um echte Nutzer zu bedienen, oder die Idee anhand größerer Datensätze – beispielsweise mit mehr als einigen Millionen Vektoren – validieren. In diesem Fall ist Milvus Standalone die richtige Wahl. Die Anwendungslogik für Milvus Lite kann weiterhin gemeinsam genutzt werden, da alle Milvus-Bereitstellungen über dieselbe clientseitige API verfügen. Die in Milvus Lite gespeicherten Daten lassen sich zudem mit einem Befehlszeilentool auf Milvus Standalone übertragen.

  • Bereitstellung in einer kleinen Produktionsumgebung

    Für die frühe Produktionsphase, in der das Projekt noch nach der Produkt-Markt-Passung sucht und Agilität wichtiger ist als Skalierbarkeit, ist Milvus Standalone die beste Wahl. Es lässt sich bei ausreichenden Maschinenressourcen immer noch auf bis zu 100 Millionen Vektoren skalieren, erfordert dabei jedoch deutlich weniger DevOps-Aufwand als die Wartung eines K8s-Clusters.

  • Groß angelegter Produktionsbetrieb

    Wenn Ihr Unternehmen schnell wächst und der Datenumfang die Kapazität eines einzelnen Servers übersteigt, ist es an der Zeit, Milvus Distributed in Betracht zu ziehen. Sie können Milvus Standalone aufgrund seiner Benutzerfreundlichkeit weiterhin für Entwicklungs- oder Staging-Umgebungen nutzen und gleichzeitig den K8s-Cluster betreiben, auf dem Milvus Distributed läuft. Dies ermöglicht Ihnen den Umgang mit mehreren zehn Milliarden Vektoren und bietet Ihnen zudem Flexibilität bei der Anpassung der Knotengröße an Ihre spezifische Arbeitslast, beispielsweise bei Szenarien mit vielen Lesezugriffen und seltenen Schreibvorgängen oder umgekehrt mit vielen Schreibvorgängen und wenigen Lesezugriffen.

  • Lokale Suche auf Edge-Geräten

    Für die Suche in privaten oder sensiblen Daten auf Edge-Geräten können Sie Milvus Lite direkt auf dem Gerät bereitstellen, ohne für die Text- oder Bildsuche auf einen cloudbasierten Dienst angewiesen zu sein. Dies eignet sich beispielsweise für die Suche in firmeneigenen Dokumenten oder die Objekterkennung direkt auf dem Gerät.

Die Wahl des Milvus-Bereitstellungsmodus hängt von der Phase und dem Umfang Ihres Projekts ab. Milvus bietet eine flexible und leistungsstarke Lösung für verschiedene Anforderungen, vom schnellen Prototyping bis hin zum groß angelegten Einsatz in Unternehmen.

  • Milvus Lite wird für kleinere Datensätze mit bis zu einigen Millionen Vektoren empfohlen.
  • Milvus Standalone eignet sich für mittelgroße Datensätze mit bis zu 100 Millionen Vektoren.
  • Milvus Distributed ist für groß angelegte Bereitstellungen konzipiert und kann Datensätze von 100 Millionen bis zu mehreren zehn Milliarden Vektoren verarbeiten.

Unabhängig vom Bereitstellungsmodus stützt sich jede Milvus-Instanz auf eine Nachrichtenwarteschlange, einen Objektspeicher und einen Metadatenspeicher – standardmäßig Woodpecker, MinIO und etcd. Um mehr über diese Abhängigkeiten zu erfahren, sie anzupassen oder externe Dienste anzubinden, lesen Sie den Abschnitt „Dateninfrastruktur“.

Select deployment option for your use case Wählen Sie die für Ihren Anwendungsfall geeignete Bereitstellungsoption

Vergleich der Funktionen

FunktionMilvus LiteMilvus StandaloneMilvus Distributed
SDK / Client-BibliothekPython-
-gRPC
Python-
Go-
Java-
Node.js-
C#-
RESTful
Python
Java
Go
Node.js
C#
RESTful
DatentypenDichter Vektor
Sparse-Vektor
Binärvektor
Boolescher Wert
Ganzzahl
Gleitkomma
VarChar
Array
JSON
Dichter Vektor
Sparse-Vektor
Binärvektor
Boolescher Wert
Ganzzahl
Gleitkomma
VarChar
Array
JSON
Dichter Vektor
Sparse-Vektor
Binärvektor
Boolesche Werte
Ganzzahl
Gleitkomma
VarChar
Array
JSON
SuchfunktionenVektorsuche (ANN-Suche)
Metadatenfilterung
Bereichssuche
Skalare Abfrage
Entitäten nach Primärschlüssel abrufen
Hybride Suche
Vektorsuche (ANN-Suche)
Metadatenfilterung
Bereichssuche
Skalare Abfrage
Entitäten nach Primärschlüssel abrufen
Hybride Suche
Vektorsuche (ANN-Suche)
Metadatenfilterung
Bereichssuche
Skalare Abfrage
Entitäten nach Primärschlüssel abrufen
Hybride Suche
CRUD-Operationen✔️✔️✔️
Erweiterte Datenverwaltungk. A.Zugriffskontrolle
Partition
Partitionsschlüssel
Zugriffskontroll-
-Partition
-Partitionsschlüssel
Gruppierung physischer Ressourcen
KonsistenzstufenStarkStark
Begrenzte Veralterung
Sitzung
Eventuell
Stark
Begrenzte Veralterung
Sitzungs
Eventual
Nachrichtenwarteschlangek. A.Woodpecker (eingebettet)Woodpecker (Dienst)

Übersetzt vonDeepL

Verwaltetes Milvus kostenlos testen

Zilliz Cloud ist unkompliziert, basiert auf Milvus und ist 10-mal schneller.

Loslegen
Feedback

War diese Seite hilfreich?