MongoDB vs. Vald: Die richtige Datenbank für GenAI-Anwendungen auswählen
Da sich KI-gestützte Anwendungen weiterentwickeln, kann die Bedeutung von Vektorsuchfunktionen zur Unterstützung dieser Fortschritte nicht hoch genug eingeschätzt werden. Dieser Blogbeitrag behandelt zwei bekannte Datenbanken mit Vektorsuchfunktionen: MongoDB und Vald. Beide bieten robuste Funktionen für die Verarbeitung von Vektorsuchen, einer wesentlichen Funktion für Anwendungen wie Empfehlungsmaschinen, Bildabruf und semantische Suche. Unser Ziel ist es, Entwicklern und Ingenieuren einen klaren Vergleich zu bieten, der ihnen bei der Entscheidung hilft, welche Datenbank am besten zu ihren spezifischen Anforderungen passt.
Was ist eine Vektordatenbank?
Bevor wir MongoDB vs Vald vergleichen, lassen Sie uns zunächst das Konzept von Vektordatenbanken untersuchen.
Eine Vektordatenbank ist speziell darauf ausgelegt, hochdimensionale Vektoren zu speichern und abzufragen, die numerische Darstellungen von unstrukturierten Daten sind. Diese Vektoren kodieren komplexe Informationen, wie die semantische Bedeutung von Text, die visuellen Merkmale von Bildern oder Produktattribute. Durch die Ermöglichung effizienter Ähnlichkeitssuchen spielen Vektordatenbanken eine zentrale Rolle in KI-Anwendungen und ermöglichen eine fortschrittlichere Datenanalyse und -abfrage.
Häufige Anwendungsfälle für Vektordatenbanken umfassen Produktempfehlungen im E-Commerce, Plattformen zur Inhaltsentdeckung, Anomalieerkennung in der Cybersicherheit, medizinische Bildanalyse und Aufgaben der Verarbeitung natürlicher Sprache (NLP). Sie spielen auch eine entscheidende Rolle bei Retrieval Augmented Generation (RAG), einer Technik, die die Leistung von Large Language Models (LLMs) verbessert, indem sie externes Wissen bereitstellt, um Probleme wie KI-Halluzinationen zu reduzieren.
Es gibt viele Arten von Vektordatenbanken auf dem Markt, darunter:
- Zweckgebundene Vektordatenbanken wie Milvus, Zilliz Cloud (vollständig verwaltetes Milvus)
- Vektorsuchbibliotheken wie Faiss und Annoy.
- Leichtgewichtige Vektordatenbanken wie Chroma und Milvus Lite.
- Traditionelle Datenbanken mit Vektorsuch-Add-ons, die in der Lage sind, Vektorsuchen in kleinem Maßstab durchzuführen.
MongoDB ist eine NoSQL-Datenbank mit Vektorsuche als Add-on. Vald ist eine zweckgebundene Vektordatenbank. Dieser Beitrag vergleicht ihre Vektorsuchfunktionen.
MongoDB: Die Grundlagen
MongoDB Atlas Vector Search ist eine Funktion, mit der Sie Vektorähnlichkeitssuchen auf in MongoDB Atlas gespeicherten Daten durchführen können. Sie können hochdimensionale Vektoreinbettungen zusammen mit Ihren Dokumentdaten indizieren und abfragen und KI sowie maschinelles Lernen direkt in der Datenbank durchführen.
Im Kern verwendet Atlas Vector Search den Algorithmus Hierarchical Navigable Small World (HNSW) zum Indizieren und Durchsuchen von Vektordaten. Dadurch entsteht ein mehrstufiger Graph des Vektorraums, sodass Sie Approximate-Nearest-Neighbor-Suchen (ANN) durchführen können. Es ist ein Gleichgewicht zwischen Geschwindigkeit und Genauigkeit für Vektorsuchen in großem Maßstab. Atlas Vector Search unterstützt außerdem Exact-Nearest-Neighbors-Suchen (ENN), bei denen Genauigkeit gegenüber Leistung für Abfragen von bis zu 10.000 Dokumenten priorisiert wird.
Einer der großen Vorteile von Atlas Vector Search ist die Integration mit dem flexiblen Dokumentmodell von MongoDB. Sie können Vektor-Embeddings zusammen mit anderen Dokumentdaten speichern, sodass Sie kontextbezogener und präziser suchen können. Sie können jede Art von Daten abfragen, die bis zu 4096 Dimensionen eingebettet werden kann. Atlas Vector Search ermöglicht es Ihnen, Vektorähnlichkeitssuchen mit herkömmlicher Dokumentfilterung zu kombinieren. Beispielsweise könnte eine semantische Suche nach Produkten nach Kategorie, Preisspanne oder Verfügbarkeit gefiltert werden.
Atlas Vector Search unterstützt außerdem hybride Suche, bei der Vektorsuche mit Volltextsuche kombiniert wird, um granularere Ergebnisse zu erzielen. Dies unterscheidet sich von Atlas Search, das auf schlüsselwortbasierte Suche ausgerichtet ist. Die Plattform integriert sich mit beliebten KI-Diensten und -Tools, sodass Sie sie mit Embedding-Modellen von Anbietern wie OpenAI, VoyageAI und vielen anderen auf Hugging Face gelisteten nutzen können. Sie unterstützt außerdem Open-Source-Frameworks wie LangChain und LlamaIndex für die Erstellung von Anwendungen, die Large Language Models (LLMs) verwenden.
Um Skalierbarkeit und Leistung sicherzustellen, stellt MongoDB Atlas Search Nodes bereit, die eine dedizierte Infrastruktur für Atlas Search- und Vector Search-Workloads bieten. Dadurch können Sie optimierte Rechenressourcen und eine unabhängige Skalierung der Suchanforderungen nutzen, sodass Sie eine bessere Leistung in großem Maßstab erhalten.
Durch diese Funktionen im MongoDB-Ökosystem ist Atlas Vector Search eine vollständige Lösung für Entwickler, die KI-gestützte Anwendungen, Empfehlungssysteme oder erweiterte Suchfunktionen erstellen. Es ist keine separate Vektordatenbank erforderlich; Sie können die Skalierbarkeit und die umfangreichen Funktionen von MongoDB zusammen mit der Vektorsuche nutzen.
Vald: Die Grundlagen
Vald ist ein leistungsstarkes Tool, um riesige Mengen an Vektordaten sehr schnell zu durchsuchen. Es ist darauf ausgelegt, Milliarden von Vektoren zu verarbeiten und kann problemlos mitwachsen, wenn Ihre Anforderungen größer werden. Das Coole an Vald ist, dass es einen extrem schnellen Algorithmus namens NGT verwendet, um ähnliche Vektoren zu finden.
Eine der besten Funktionen von Vald ist der Umgang mit der Indexierung. Normalerweise muss beim Aufbau eines Index alles anhalten. Aber Vald ist intelligent – es verteilt den Index auf verschiedene Maschinen, sodass Suchvorgänge weiterlaufen können, selbst während der Index aktualisiert wird. Außerdem sichert Vald Ihre Indexdaten automatisch, sodass Sie sich keine Sorgen machen müssen, alles zu verlieren, wenn etwas schiefgeht.
Vald lässt sich hervorragend in unterschiedliche Setups integrieren. Sie können anpassen, wie Daten hinein- und hinausgehen, sodass es gut mit gRPC funktioniert. Es ist außerdem darauf ausgelegt, reibungslos in der Cloud zu laufen, sodass Sie bei Bedarf problemlos mehr Rechenleistung oder Arbeitsspeicher hinzufügen können. Vald verteilt Ihre Daten auf mehrere Maschinen, was dabei hilft, enorme Informationsmengen zu verarbeiten.
Ein weiterer cleverer Trick von Vald ist die Indexreplikation. Es speichert Kopien jedes Index auf verschiedenen Maschinen. Das bedeutet: Wenn eine Maschine ein Problem hat, können Ihre Suchvorgänge weiterhin problemlos funktionieren. Vald gleicht diese Kopien automatisch aus, sodass Sie sich nicht darum kümmern müssen. All dies macht Vald zu einer soliden Wahl für Entwickler, die große Mengen an Vektordaten schnell und zuverlässig durchsuchen müssen.
Wichtige Unterschiede
Wenn Sie zwischen MongoDB Atlas Vector Search und Vald für Ihre Vektorsuchanforderungen wählen, müssen Sie die Unterschiede verstehen. Beide bieten leistungsstarke Verarbeitung von Vektordaten, haben jedoch unterschiedliche Ansätze und Stärken. Vergleichen wir sie in mehreren Schlüsselbereichen, um Ihnen bei der Entscheidung zu helfen.
Suchmethodik
MongoDB Atlas Vector Search verwendet den Hierarchical Navigable Small World (HNSW)-Algorithmus für die Indexierung und Suche von Vektordaten. Dadurch wird ein mehrstufiger Graph des Vektorraums für Approximate Nearest Neighbor (ANN)-Suchen erstellt. Es unterstützt außerdem Exact Nearest Neighbors (ENN)-Suchen für kleinere Datensätze.
Vald verwendet den NGT-Algorithmus für schnelle Vektorähnlichkeitssuchen. Dieser ist darauf ausgelegt, Milliarden von Vektoren zu verarbeiten.
Datenverarbeitung
MongoDB integriert die Vektorsuche mit seinem flexiblen Dokumentmodell. Sie können Vektoreinbettungen zusammen mit anderen Dokumentdaten speichern und kontextbezogenere und präzisere Suchen durchführen. Sie können Vektorähnlichkeitssuchen mit Dokumentfilterung kombinieren und sogar hybride Suchen durchführen, die Vektor- und Volltextsuche zusammenführen.
Vald ist auf Vektordaten ausgerichtet und dafür konzipiert, enorme Mengen davon zu verarbeiten. Auch wenn es für Nicht-Vektordaten möglicherweise nicht die gleiche Flexibilität wie MongoDB bietet, ist seine reine Vektorsuche unschlagbar.
Skalierbarkeit und Leistung
MongoDB Atlas verfügt über dedizierte Search Nodes für Vector Search-Workloads, sodass Sie Suchressourcen unabhängig von Ihren Daten- und Suchanforderungen skalieren können.
Vald ist von Grund auf skalierbar konzipiert. Es verteilt die Indexierung auf mehrere Maschinen, sodass Sie während Indexaktualisierungen Suchen durchführen können. Valds verteilte Architektur kann Milliarden von Vektoren verarbeiten und bei Bedarf horizontal skalieren.
Flexibilität und Anpassung
MongoDBs Dokumentmodell ist sehr flexibel bei der Datenmodellierung und Abfrage. Sie können Vektoren mit bis zu 4096 Dimensionen speichern und abfragen und Vektorsuchen mit anderen Abfragetypen kombinieren.
Vald bietet Anpassungsoptionen für Dateneingabe und -ausgabe sowie gute gRPC-Unterstützung. Auch wenn es möglicherweise nicht die gleiche Flexibilität bei der Datenmodellierung wie MongoDB bietet, ist seine reine Vektorsuche unschlagbar.
Integration und Ökosystem
MongoDB Atlas Vector Search integriert sich in das breitere MongoDB-Ökosystem. Es funktioniert gut mit beliebten KI-Diensten und -Tools, einschließlich Einbettungsmodellen von OpenAI und Frameworks wie LangChain und LlamaIndex.
Vald ist für den Einsatz in der Cloud konzipiert und kann über seine Datenhandler in andere Systeme integriert werden. Es verfügt jedoch möglicherweise nicht über ein so großes Ökosystem wie MongoDB.
Benutzerfreundlichkeit
MongoDB verfügt über umfangreiche Dokumentation und eine große Community, sodass es einfacher zu erlernen und zu nutzen ist. Wenn Sie MongoDB bereits kennen, könnte das Hinzufügen von Vektorsuche naheliegend sein.
Vald ist leistungsstark, kann aber eine steilere Lernkurve haben, insbesondere wenn Vektordatenbanken für Sie neu sind. Da es jedoch auf Vektorsuche fokussiert ist, könnte es für Ihren Anwendungsfall einfacher sein.
Kosten
MongoDB Atlas ist ein verwalteter Dienst, der den Betrieb vereinfacht, aber möglicherweise mehr kostet. Die Preise variieren je nach Nutzung und Anforderungen.
Vald ist Open Source und daher günstiger, aber Sie müssen die Kosten für den Betrieb und die Wartung der Infrastruktur selbst berücksichtigen.
Sicherheit
MongoDB Atlas bietet robuste Sicherheitsfunktionen, einschließlich Verschlüsselung, Authentifizierung und fein abgestufter Zugriffskontrolle, die sich auch auf die Vektorsuche erstrecken.
Valds Sicherheit hängt von Ihrer Implementierung und der Infrastruktur ab, mit der Sie es umgeben.
Wann welches verwendet werden sollte
Verwenden Sie MongoDB Atlas Vector Search, wenn Sie eine Lösung benötigen, die Vektorsuche mit Dokumentdatenbanken kombiniert. Es eignet sich hervorragend für Anwendungen, die kontextbezogene Suchen erfordern, bei denen Sie sowohl Vektorähnlichkeit als auch andere Dokumentattribute berücksichtigen müssen. MongoDB ist gut geeignet, wenn Sie gemischte Datentypen haben, hybride Suchen durchführen müssen oder das vollständige MongoDB-Ökosystem nutzen möchten. Verwenden Sie MongoDB, wenn Sie KI-gestützte Anwendungen, Empfehlungssysteme oder erweiterte Suchfunktionen entwickeln, die mit Ihren vorhandenen MongoDB-Daten arbeiten müssen.
Vald ist die richtige Wahl, wenn Ihre Hauptanforderung eine leistungsstarke Vektorsuche im großen Maßstab ist. Es eignet sich hervorragend für Anwendungen mit Milliarden von Vektoren, die schnelle, effiziente Ähnlichkeitssuchen benötigen. Vald ist gut geeignet, wenn Sie kontinuierliche Indexierung benötigen, ohne Suchvorgänge zu unterbrechen, oder wenn Sie ein System benötigen, das horizontal über mehrere Maschinen hinweg skalieren kann. Verwenden Sie Vald, wenn Sie groß angelegte Bild- oder Videosuchmaschinen, Content-Empfehlungssysteme oder jede Anwendung entwickeln, bei der die reine Leistung der Vektorsuche oberste Priorität hat.
Fazit
MongoDB Atlas Vector Search ist eine umfassende Lösung, die Vektorsuche mit einer flexiblen Dokumentendatenbank sowie einem umfangreichen Ökosystem und hybriden Suchoptionen kombiniert. Vald ist eine leistungsstarke Vektorsuche für massive Skalierung und kontinuierliche Indexierung. Ihre Wahl zwischen diesen beiden sollte auf Ihrem Anwendungsfall, der Art der Daten, mit denen Sie arbeiten, und Ihren Leistungsanforderungen basieren. Wenn Sie eine Datenbank benötigen, die sowohl Vektor- als auch Nicht-Vektordaten mit starker Ökosystemunterstützung verarbeiten kann, könnte MongoDB der richtige Weg sein. Wenn Sie sich auf schnelle Vektorsuche in großem Maßstab konzentrieren und sich mit der Verwaltung Ihrer eigenen Infrastruktur wohlfühlen, könnte Vald die bessere Wahl sein. Berücksichtigen Sie Ihren bestehenden Tech-Stack, die Expertise Ihres Teams und zukünftige Skalierbarkeitsanforderungen, wenn Sie entscheiden.
Lesen Sie dies, um einen Überblick über MongoDB und Vald zu erhalten, aber um diese zu bewerten, müssen Sie sie auf Grundlage Ihres Anwendungsfalls evaluieren. Ein Tool, das dabei helfen kann, ist VectorDBBench, ein Open-Source-Benchmarking-Tool für den Vergleich von Vektordatenbanken. Letztendlich wird gründliches Benchmarking mit Ihren eigenen Datensätzen und Abfragemustern entscheidend sein, um eine Entscheidung zwischen diesen beiden leistungsstarken, aber unterschiedlichen Ansätzen zur Vektorsuche in verteilten Datenbanksystemen zu treffen.
Verwendung von Open-Source VectorDBBench zur Bewertung und zum Vergleich von Vektordatenbanken auf eigene Faust
VectorDBBench ist ein Open-Source-Benchmarking-Tool für Benutzer, die leistungsstarke Systeme zur Datenspeicherung und -abfrage benötigen, insbesondere Vektordatenbanken. Dieses Tool ermöglicht es Benutzern, verschiedene Vektordatenbanksysteme wie Milvus und Zilliz Cloud (das verwaltete Milvus) mit ihren eigenen Datensätzen zu testen und zu vergleichen und dasjenige zu finden, das zu ihren Anwendungsfällen passt. Mit VectorDBBench können Benutzer Entscheidungen auf Grundlage der tatsächlichen Leistung von Vektordatenbanken treffen, statt auf Marketingaussagen oder Hörensagen zu vertrauen.
VectorDBBench ist in Python geschrieben und unter der MIT-Open-Source-Lizenz lizenziert, was bedeutet, dass jeder es frei verwenden, ändern und weiterverbreiten kann. Das Tool wird aktiv von einer Community von Entwicklern gepflegt, die sich der Verbesserung seiner Funktionen und Leistung verschrieben haben.
Laden Sie VectorDBBench aus seinem GitHub repository herunter, um unsere Benchmark-Ergebnisse zu reproduzieren oder Leistungsergebnisse mit Ihren eigenen Datensätzen zu erhalten.
Werfen Sie einen kurzen Blick auf die Leistung gängiger Vektordatenbanken im VectorDBBench Leaderboard.
Lesen Sie die folgenden Blogs, um mehr über die Bewertung von Vektordatenbanken zu erfahren.
Weitere Ressourcen zu VectorDB, GenAI und ML
Weiterlesen

Milvus 2.6.x Now Generally Available on Zilliz Cloud, Making Vector Search Faster, Smarter, and More Cost-Efficient for Production AI
Milvus 2.6.x is now GA on Zilliz Cloud, delivering faster vector search, smarter hybrid queries, and lower costs for production RAG and AI applications.

Zilliz Cloud Delivers Better Performance and Lower Costs with Arm Neoverse-based AWS Graviton
Zilliz Cloud adopts Arm-based AWS Graviton3 CPUs to cut costs, speed up AI vector search, and power billion-scale RAG and semantic search workloads.

Creating Collections in Zilliz Cloud Just Got Way Easier
We've enhanced the entire collection creation experience to bring advanced capabilities directly into the interface, making it faster and easier to build production-ready schemas without switching tools.
The Definitive Guide to Choosing a Vector Database
Overwhelmed by all the options? Learn key features to look for & how to evaluate with your own data. Choose with confidence.


