Milvus oder Qdrant oder... Eine Vector Search Datenbank für MyOOS

MyOOS hat einen Fehler, oder tut nicht das, was Ihr erwartet? Derartige "Unanehmlichkeiten" bitte hier.
Gesperrt
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Milvus oder Qdrant oder... Eine Vector Search Datenbank für MyOOS

Beitrag von r23 »

Hallo,

Das MyOOS Projekt benötigt eine Vector Search Datenbank.

Milvus und Qdrant sind zwei Open-Source-Vektordatenbanken, die du selbst hosten kannst, um Vektorsuche zu ermöglichen. Beide Systeme bieten eine hohe Leistung, Skalierbarkeit und Flexibilität für verschiedene Anwendungsfälle. Die Wahl zwischen Milvus und Qdrant hängt von deinen Anforderungen und Präferenzen ab. Hier sind einige Faktoren, die du berücksichtigen kannst:

- Milvus unterstützt mehrere Indexarten, wie z.B. FLAT, IVF_FLAT, IVF_SQ8, IVF_PQ, HNSW, BIN_FLAT, BIN_IVF_FLAT, DiskANN, GPU_IVF_FLAT, GPU_IVF_PQ und ScaNN. Qdrant unterstützt nur HNSW. Dies bedeutet, dass Milvus mehr Optionen bietet, um die Vektorsuche an deine Daten und Abfragen anzupassen.

- Milvus verwendet eine dynamische Segmentplatzierung, um die Daten auf mehrere Knoten zu verteilen. Qdrant verwendet eine statische Daten-Sharding, um die Daten auf mehrere Server zu verteilen. Dies bedeutet, dass Milvus eine feinere Skalierbarkeit und eine bessere Lastverteilung bietet. Qdrant erfordert möglicherweise eine Neu-Sharding, wenn die Daten über die Serverkapazität hinauswachsen.

- Milvus bietet eine Rollenbasierte Zugriffskontrolle (RBAC), um die Zugriffsrechte auf die Daten zu verwalten. Qdrant bietet nur eine schlüsselbasierte Authentifizierung. Dies bedeutet, dass Milvus mehr Sicherheit und Kontrolle für unternehmenskritische Anwendungen bietet.

- Milvus bietet eine Hybrid-Suche, die es ermöglicht, Vektoren und traditionelle Indizes zu kombinieren. Qdrant bietet eine Skalarfilterung, die es ermöglicht, Vektoren nach numerischen oder booleschen Werten zu filtern. Dies bedeutet, dass Milvus mehr Funktionalität und Vielseitigkeit für komplexe Abfragen biete.

Basierend auf diesen Faktoren scheint Milvus eine bessere Wahl für eine Vektordatenbank zu sein, die du selbst hosten kannst. Milvus bietet mehr Funktionen, Leistung und Skalierbarkeit als Qdrant. Milvus ist auch eine reifere und beliebtere Lösung, die von über 1000 Unternehmen, wie Baidu, eBay, IKEA, LINE, Shopee und TikTok, vertraut wird.


Wie funktioniert die Vektorsuche in Milvus?

Die Vektorsuche in Milvus funktioniert folgendermaßen:

- Zuerst musst du deine Daten in Vektoren umwandeln, indem du ein maschinelles Lernmodell oder einen Encoder verwendest. Du kannst verschiedene Modelle auswählen, wie z.B. OpenAI, Hugging Face oder TensorFlow.

- Dann musst du eine Sammlung in Milvus erstellen, die deine Vektordaten speichert. Du kannst verschiedene Parameter für deine Sammlung festlegen, wie z.B. die Dimension, den Datentyp und den Indextyp deiner Vektoren.

- Dann musst du deine Vektoren in die Sammlung einfügen, indem du die Milvus-API oder das SDK verwendest. Du kannst auch Metadaten oder Skalarfelder zu deinen Vektoren hinzufügen, um sie besser zu organisieren und zu filtern.

- Dann musst du einen Index für deine Sammlung erstellen, der die Vektorsuche beschleunigt. Du kannst aus verschiedenen Indexarten wählen, wie z.B. FLAT, IVF_FLAT, IVF_SQ8, IVF_PQ, HNSW, BIN_FLAT, BIN_IVF_FLAT, DiskANN, GPU_IVF_FLAT, GPU_IVF_PQ und ScaNN. Jeder Index hat seine eigenen Vor- und Nachteile in Bezug auf Geschwindigkeit, Genauigkeit und Speicherplatz.

- Dann kannst du eine Vektorsuche in deiner Sammlung durchführen, indem du eine Abfragevektor und eine Distanzmetrik angibst. Du kannst auch Filter oder Aggregationen auf deine Skalarfelder anwenden, um deine Suche zu verfeinern. Milvus wird dir die ähnlichsten Vektoren in deiner Sammlung basierend auf dem Approximate Nearest Neighbor (ANN) Algorithmus zurückgeben.

Das ist die grundlegende Funktionsweise der Vektorsuche in Milvus.

Beste Grüße


Ralf
Gesperrt