MongoDB vs. Vearch: Auswahl der richtigen Datenbank für GenAI-Anwendungen
Mit der Weiterentwicklung KI-gestützter Anwendungen kann die Bedeutung von Vektorsuchfunktionen zur Unterstützung dieser Fortschritte nicht hoch genug eingeschätzt werden. In diesem Blogbeitrag werden zwei prominente Datenbanken mit Vektorsuchfunktionen vorgestellt: MongoDB und Vearch. Beide bieten robuste Funktionen für die Verarbeitung von Vektorsuchen, einem wesentlichen Merkmal für Anwendungen wie Empfehlungsmaschinen, Bildabruf und semantische Suche. Unser Ziel ist es, Entwicklern und Ingenieuren einen klaren Vergleich zu bieten, der bei der Entscheidung hilft, welche Datenbank am besten zu ihren spezifischen Anforderungen passt.
Was ist eine Vektordatenbank?
Bevor wir MongoDB vs Vearch vergleichen, wollen wir zunächst das Konzept von Vektordatenbanken untersuchen.
Eine Vektordatenbank ist speziell dafür konzipiert, 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 Produkteigenschaften. 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 großen Sprachmodellen (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 Umfang durchzuführen.
MongoDB ist eine NoSQL-Datenbank mit Vektorsuche als Add-on. Vearch ist eine zweckgebundene Vektordatenbank. Dieser Beitrag vergleicht ihre Vektorsuchfunktionen.
MongoDB: Die Grundlagen
MongoDB Atlas Vector Search ist eine Funktion, mit der Sie Vektorähnlichkeitssuchen für in MongoDB Atlas gespeicherte Daten durchführen können. Sie können hochdimensionale Vektoreinbettungen zusammen mit Ihren Dokumentdaten indexieren und abfragen und KI und maschinelles Lernen direkt in der Datenbank ausführen.
Im Kern verwendet Atlas Vector Search den Hierarchical Navigable Small World (HNSW)-Algorithmus zum Indexieren und Durchsuchen von Vektordaten. Dadurch entsteht ein mehrstufiger Graph des Vektorraums, sodass Sie Approximate Nearest Neighbor (ANN)-Suchen 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 (ENN)-Suchen, bei denen Genauigkeit gegenüber Leistung für Abfragen mit bis zu 10.000 Dokumenten priorisiert wird.
Einer der großen Vorteile von Atlas Vector Search ist die Integration in das flexible Dokumentmodell von MongoDB. Sie können Vektoreinbettungen zusammen mit anderen Dokumentdaten speichern, sodass Sie kontextbezogener und präziser suchen können. Sie können jede Art von Daten abfragen, die in bis zu 4096 Dimensionen eingebettet werden kann. Atlas Vector Search ermöglicht es Ihnen, Vektorähnlichkeitssuchen mit herkömmlicher Dokumentfilterung zu kombinieren. Zum Beispiel könnte eine semantische Suche nach Produkten nach Kategorie, Preisspanne oder Verfügbarkeit gefiltert werden.
Atlas Vector Search unterstützt außerdem Hybrid Search, indem 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 lässt sich in beliebte KI-Dienste und -Tools integrieren, sodass Sie sie mit Einbettungsmodellen von Anbietern wie OpenAI, VoyageAI und vielen anderen auf Hugging Face aufgeführten Anbietern verwenden können. Sie unterstützt außerdem Open-Source-Frameworks wie LangChain und LlamaIndex für die Entwicklung 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 verfügen Sie über optimierte Rechenressourcen und eine unabhängige Skalierung Ihrer Suchanforderungen, sodass Sie eine bessere Leistung im großen Maßstab erzielen.
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 entwickeln. Es ist keine separate Vektordatenbank erforderlich; Sie können die Skalierbarkeit und den Funktionsreichtum von MongoDB zusammen mit der Vektorsuche nutzen.
Was ist Vearch? Die Grundlagen
Vearch ist ein Tool für Entwickler, die KI-Anwendungen entwickeln, die schnelle und effiziente Ähnlichkeitssuchen benötigen. Es ist wie eine leistungsstarke Datenbank, aber anstatt reguläre Daten zu speichern, ist es dafür gebaut, diese kniffligen Vektoreinbettungen zu verarbeiten, die einen Großteil moderner KI-Technologie antreiben.
Eines der coolsten Dinge an Vearch ist seine hybride Suche. Sie können nach Vektoren suchen (denken Sie daran, ähnliche Bilder oder Texte zu finden) und auch nach regulären Daten wie Zahlen oder Text filtern. So können Sie komplexe Suchen durchführen wie „Finde Produkte wie dieses, aber nur in der Kategorie Elektronik und unter 500 $“. Es ist außerdem schnell – wir sprechen von der Suche in einem Korpus von Millionen von Vektoren in Millisekunden.
Vearch ist darauf ausgelegt, mit Ihren Anforderungen zu wachsen. Es verwendet ein Cluster-Setup, wie ein Team von Computern, die zusammenarbeiten. Sie haben verschiedene Arten von Knoten (Master, Router und Partition Server), die unterschiedliche Aufgaben übernehmen, von der Verwaltung von Metadaten bis hin zum Speichern und Berechnen von Daten. Dadurch kann Vearch horizontal skalieren und zuverlässig bleiben, wenn Ihre Daten wachsen. Sie können mehr Maschinen hinzufügen, um mehr Daten oder Traffic zu bewältigen, ohne ins Schwitzen zu geraten.
Für Entwickler bietet Vearch einige nützliche Funktionen, die das Leben erleichtern. Sie können Daten in Echtzeit zu Ihrem Index hinzufügen, sodass Ihre Suchergebnisse immer aktuell sind. Es unterstützt mehrere Vektorfelder in einem einzelnen Dokument, was für komplexe Daten praktisch ist. Außerdem gibt es ein Python SDK für schnelle Entwicklung und Tests. Vearch ist flexibel bei den Indexierungsmethoden (IVFPQ und HNSW) und unterstützt sowohl CPU- als auch GPU-Versionen, sodass Sie für Ihre spezifische Hardware und Ihren Anwendungsfall optimieren können. Ob Sie ein Empfehlungssystem, eine Suche nach ähnlichen Bildern oder eine KI-App entwickeln, die schnelles Ähnlichkeitsmatching benötigt, Vearch gibt Ihnen die Werkzeuge, um dies effizient umzusetzen.
Wesentliche Unterschiede
Wenn Sie KI-Anwendungen entwickeln, die Vektorsuche benötigen, kommen zwei Tools in den Sinn: MongoDB Atlas Vector Search und Vearch. Beide sind leistungsstark, weisen aber einige wesentliche Unterschiede auf, die Ihre Entscheidung beeinflussen werden. Lassen Sie uns aufschlüsseln, wie diese Tools in mehreren Schlüsselbereichen im Vergleich abschneiden.
Suchmethodik
MongoDB Atlas Vector Search verwendet den Hierarchical Navigable Small World (HNSW)-Algorithmus zum Indexieren und Durchsuchen von Vektordaten. Er erstellt einen mehrstufigen Graphen des Vektorraums für Approximate Nearest Neighbor (ANN)-Suchen. Außerdem unterstützt er Exact Nearest Neighbors (ENN)-Suchen für kleinere Datensätze.
Vearch hingegen bietet Flexibilität bei den Indexierungsmethoden. Es unterstützt sowohl IVFPQ- als auch HNSW-Algorithmen, sodass Sie mehr Optionen haben, um für Ihren Anwendungsfall zu optimieren.
Daten
MongoDB Atlas Vector Search überzeugt durch seine Integration mit dem MongoDB-Dokumentmodell. Sie können Vektor-Embeddings zusammen mit anderen Dokumentdaten speichern, sodass Sie mit mehr Kontext und Präzision suchen können. Dies ist besonders nützlich für Anwendungen, die Vektorähnlichkeitssuchen mit Dokumentfilterung kombinieren müssen.
Vearch unterstützt ebenfalls hybride Suche, sodass Sie nach Vektoren suchen und nach regulären Daten filtern können. Es kann mehrere Vektorfelder in einem einzelnen Dokument verarbeiten, was für komplexe Datenstrukturen nützlich ist.
Skalierbarkeit und Leistung
MongoDB Atlas verfügt über dedizierte Search Nodes für Vector Search-Workloads, sodass Sie die Suche unabhängig skalieren können. Das bedeutet bessere Leistung im großen Maßstab, insbesondere bei großen Datensätzen.
Vearch hat ein Cluster-Setup mit verschiedenen Arten von Knoten (Master, Router und Partition Server), die unterschiedliche Aufgaben übernehmen. Diese Architektur ermöglicht es Vearch, mit wachsenden Datenmengen horizontal zu skalieren, und Sie können weitere Maschinen hinzufügen, um mehr Daten oder Traffic zu bewältigen.
Flexibilität und Anpassung
MongoDB Atlas Vector Search kann beliebige Daten abfragen, die bis zu 4096 Dimensionen eingebettet werden können. Außerdem unterstützt es die Kombination von Vektorähnlichkeitssuchen mit Dokumentfilterung und Volltextsuche.
Vearch bietet Flexibilität bei den Indexierungsmethoden und unterstützt sowohl CPU- als auch GPU-Versionen, sodass Sie für Ihre Hardware und Ihren Anwendungsfall optimieren können.
Integration und Ökosystem
MongoDB Atlas Vector Search integriert sich in beliebte KI-Dienste und -Tools. Es arbeitet mit Embedding-Modellen von OpenAI und VoyageAI und unterstützt LangChain und LlamaIndex für die Erstellung von Anwendungen mit Large Language Models (LLMs).
Vearch verfügt über ein Python SDK für schnelle Entwicklung und Tests, aber in diesem Kontext gibt es keine Informationen zu seiner Integration mit anderen KI-Tools oder Frameworks.
Benutzerfreundlichkeit
MongoDB Atlas Vector Search profitiert davon, Teil des MongoDB-Ökosystems zu sein, mit dem viele Entwickler bereits vertraut sind, sodass dies die Lernkurve für Teams, die MongoDB bereits nutzen, senken könnte.
Vearch bietet Echtzeit-Indexierung und ein Python SDK, was Entwicklung und Tests erleichtert, aber seine verteilte Architektur erfordert mehr Kenntnisse in Einrichtung und Wartung.
Kosten
MongoDB Atlas ist ein verwalteter Dienst, sodass er den Betrieb vereinfacht, aber je nach Nutzung mehr kosten kann.
Vearch ist Open Source und kann daher direkte Kosten reduzieren, erfordert aber mehr Investitionen in Infrastruktur und Management.
Sicherheit
MongoDB Atlas verfügt wahrscheinlich über die robusten Sicherheitsfunktionen von MongoDB, einschließlich Verschlüsselung, Authentifizierung und Zugriffskontrolle.
Die Sicherheit von Vearch liegt bei Ihnen.
Wann MongoDB Atlas Vector Search verwendet werden sollte
Verwenden Sie MongoDB Atlas Vector Search, wenn Sie komplexe, dokumentbasierte Daten haben, die sowohl traditionelle Abfragen als auch Vektorsuche benötigen. Es ist perfekt für Anwendungen, die Vektorähnlichkeitssuchen mit Dokumentfilterung kombinieren müssen, wie fortgeschrittene Produktempfehlungssysteme oder Content-Discovery-Plattformen. Wenn Sie MongoDB bereits für Ihre Daten verwenden und KI-gestützte Suche hinzufügen möchten, ohne eine separate Vektordatenbank einzuführen, ist Atlas Vector Search eine nahtlose Integration. Es eignet sich außerdem gut für Projekte, die eine enge Integration mit beliebten KI-Diensten und -Tools benötigen, da es Embedding-Modelle verschiedener Anbieter unterstützt und gut mit LangChain und LlamaIndex funktioniert.
Wann Vearch verwendet werden sollte
Vearch ist gut geeignet, wenn Sie mehr Kontrolle über die Indexierungsmethoden und die Hardware-Optimierung benötigen. Es ist perfekt für Projekte, die Echtzeit-Indexierung benötigen und mehrere Vektorfelder in einem einzigen Dokument verarbeiten können. Wenn Sie eine Anwendung entwickeln, die skaliert werden muss, um riesige Mengen an Vektordaten zu verarbeiten, könnte die clusterbasierte Architektur von Vearch gut passen. Es ist auch gut für Entwickler, die die Flexibilität wünschen, je nach ihrer Hardware-Konfiguration zwischen CPU- und GPU-Implementierungen zu wählen. Vearch könnte auch die bessere Option für Teams sein, die Open-Source-Lösungen bevorzugen und mehr Kontrolle über ihre Vektorsuch-Infrastruktur wünschen.
Zusammenfassung
Sowohl MongoDB Atlas Vector Search als auch Vearch sind großartige Vektorsuchlösungen, aber für unterschiedliche Anforderungen. MongoDB Atlas Vector Search eignet sich gut für die Integration der Vektorsuche mit dokumentbasierten Daten und ist ein verwalteter Dienst innerhalb des MongoDB-Ökosystems. Vearch ist gut für Flexibilität bei Indexierungsmethoden, Hardware-Optimierung und skalierbarer Architektur. Ihre Wahl zwischen diesen beiden sollte auf Ihrem Anwendungsfall, Ihrer bestehenden Infrastruktur, Ihren Leistungsanforderungen und der Expertise Ihres Teams basieren. Berücksichtigen Sie Datenkomplexität, Skalierungsanforderungen, Integrationsanforderungen und ob Sie einen verwalteten Dienst oder eine Open-Source-Lösung wünschen, die Sie stark anpassen können.
Lesen Sie dies, um einen Überblick über MongoDB und Vearch zu erhalten, aber um diese zu bewerten, müssen Sie sie anhand Ihres Anwendungsfalls evaluieren. Ein Tool, das dabei helfen kann, ist VectorDBBench, ein Open-Source-Benchmarking-Tool für den Vergleich von Vektordatenbanken. Am Ende wird gründliches Benchmarking mit Ihren eigenen Datensätzen und Abfragemustern der Schlüssel 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 Datenspeicher- und Abrufsysteme 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 Basis der tatsächlichen Leistung von Vektordatenbanken treffen, anstatt sich auf Marketingbehauptungen oder Hörensagen zu verlassen.
VectorDBBench ist in Python geschrieben und unter der MIT-Open-Source-Lizenz lizenziert, was bedeutet, dass jeder es frei verwenden, ändern und verbreiten 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

Zilliz Cloud Now Available in AWS Asia Pacific (Seoul)
Zilliz Cloud is now available in AWS Seoul — low-latency vector search, in-country data residency, and one-step migration for Korean AI teams. 31 regions across 5 clouds.

A Developer's Guide to Exploring Milvus 2.6 Features on Zilliz Cloud
Milvus 2.6 marks a shift from “vector search + glue code” to a more advanced retrieval engine, and it is now Generally Available (GA) on Zilliz Cloud (a managed Milvus service).

Vector Databases vs. Time Series Databases
Use a vector database for similarity search and semantic relationships; use a time series database for tracking value changes over time.
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.


