MongoDB vs. MyScale: 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 kaum überschätzt werden. In diesem Blogbeitrag werden zwei prominente Datenbanken mit Vektorsuchfunktionen besprochen: MongoDB und MyScale. Beide bieten robuste Funktionen für die Verarbeitung von Vektorsuchen, einer wesentlichen Funktion für Anwendungen wie Empfehlungs-Engines, 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 MyScale vergleichen, wollen wir zunächst das Konzept von Vektordatenbanken untersuchen.
Eine Vektordatenbank ist speziell dafür konzipiert, hochdimensionale Vektoren zu speichern und abzufragen, bei denen es sich um numerische Darstellungen von unstrukturierten Daten handelt. Diese Vektoren kodieren komplexe Informationen, wie etwa 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 der 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 Maßstab durchzuführen.
MongoDB ist eine NoSQL-Datenbank mit Vektorsuche als Add-on, und MyScale ist eine auf ClickHouse aufgebaute Datenbank, die Vektorsuche und SQL-Analytik kombiniert. 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 sowie KI und 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 wird ein mehrstufiger Graph des Vektorraums erstellt, 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, die bei Abfragen von bis zu 10.000 Dokumenten Genauigkeit gegenüber Leistung priorisieren.
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 mit 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, indem Vektorsuche mit Volltextsuche kombiniert wird, um granularere Ergebnisse zu erzielen. Dies unterscheidet sich von Atlas Search, das sich auf schlüsselwortbasierte Suche konzentriert. 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, die auf Hugging Face aufgeführt sind, verwenden können. Sie unterstützt außerdem Open-Source-Frameworks wie LangChain und LlamaIndex zum Erstellen von Anwendungen, die Large Language Models (LLMs) verwenden.
Um Skalierbarkeit und Leistung sicherzustellen, stellt MongoDB Atlas Search Nodes bereit, die dedizierte Infrastruktur für Atlas Search- und Vector Search-Workloads bieten. Dadurch verfügen Sie über optimierte Rechenressourcen und eine unabhängige Skalierung der Suchanforderungen, sodass Sie in großem Maßstab eine bessere Leistung 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 erstellen. Es ist keine separate Vektordatenbank erforderlich; Sie können die Skalierbarkeit und die umfangreichen Funktionen von MongoDB zusammen mit der Vektorsuche nutzen.
Was ist MyScale? Die Grundlagen
MyScale ist eine cloudbasierte Datenbank, die auf der Open-Source-Datenbank ClickHouse aufbaut und für KI- und Machine-Learning-Workloads entwickelt wurde. Sie kann strukturierte Daten und Vektordaten sowie Echtzeitanalysen und Machine Learning verarbeiten. MyScale konzentriert sich auf Zeitreihen, Vektorsuche und Volltextsuche und eignet sich daher gut für Echtzeitverarbeitung und KI-gestützte Erkenntnisse. Durch die Verwendung der ClickHouse-Architektur ist MyScale leistungsstark und skalierbar für KI.
Eines der Hauptmerkmale von MyScale ist die native SQL-Unterstützung, die KI-gestützte Abfragen vereinfacht, indem Vektorsuche, Volltextsuche und herkömmliche SQL-Abfragen in einem System integriert werden. Dies reduziert den Bedarf an mehreren Tools und macht es für KI skalierbar. MyScale unterstützt und verwaltet die analytische Verarbeitung sowohl strukturierter als auch vektorisierter Daten auf einer Plattform unter Verwendung einer OLAP-Datenbankarchitektur, um mit vektorisierten Daten zu arbeiten. Entwickler können über SQL mit MyScale interagieren, sodass es für alle Programmierer zugänglich ist, die mit relationalen Datenbanken vertraut sind.
MyScale verfügt über mehrere Vektorindextypen und Ähnlichkeitsmetriken, um unterschiedliche Anwendungsfälle zu unterstützen. Es unterstützt gängige Distanzmetriken wie euklidische Distanz (L2), inneres Produkt (IP) und Kosinusähnlichkeit. Die Datenbank verfügt über mehrere Indexierungsalgorithmen: MSTG (Multi-Scale Tree Graph), ScaNN, IVFFLAT, IVFPQ, IVFSQ und HNSW, jeweils mit eigenen Parametern zur Feinabstimmung. Die proprietäre MSTG-Vektor-Engine von MyScale nutzt NVMe-SSDs, um die Datendichte zu erhöhen, sodass sie spezialisierte Vektordatenbanken sowohl in Bezug auf Leistung als auch Kosten übertrifft.
Durch die Kombination der Funktionalität einer SQL-Datenbank, einer Vektordatenbank und einer Volltextsuchmaschine in einem System reduziert MyScale Infrastruktur- und Wartungskosten. Diese Vereinheitlichung ermöglicht gemeinsame Datenabfragen und Analysen sowie eine einheitliche Datengrundlage für KI-Anwendungen. MyScale verfügt außerdem über MyScale Telemetry für vollständige Beobachtbarkeit von LLM-Systemen, sodass Sie effizient überwachen und debuggen können. Da Daten immer komplexer werden, ist MyScale eine zukunftssichere Lösung, die neuere Datenmodalitäten und Datenbankgrößen bewältigen kann und gleichzeitig Rechenleistung und Integration zwischen verschiedenen Datentypen aufrechterhält.
Hauptunterschiede
Wenn es um Vektorsuchtools geht, sind MongoDB Atlas Vector Search und MyScale zwei hervorragende Optionen. Vergleichen wir sie, damit Sie eine fundierte Entscheidung für Ihr Projekt treffen können.
Suchmethodik
MongoDB Atlas Vector Search verwendet den Hierarchical Navigable Small World (HNSW)-Algorithmus zum Indizieren und Durchsuchen von Vektordaten. Dadurch wird ein mehrstufiger Graph des Vektorraums erstellt und Approximate-Nearest-Neighbor-(ANN)-Suchen ermöglicht. Außerdem unterstützt es Exact-Nearest-Neighbors-(ENN)-Suchen für bis zu 10.000 Dokumente.
MyScale verfügt über mehrere Vektorindextypen und Ähnlichkeitsmetriken. Es unterstützt gängige Distanzmetriken wie euklidische Distanz (L2), inneres Produkt (IP) und Kosinusähnlichkeit. MyScale verfügt über mehrere Indexierungsalgorithmen: MSTG (Multi-Scale Tree Graph), ScaNN, IVFFLAT, IVFPQ, IVFSQ und HNSW. Dadurch haben Sie mehr Kontrolle über Suchleistung und Genauigkeit.
Datenverarbeitung
MongoDB Atlas Vector Search arbeitet mit dem flexiblen Dokumentmodell von MongoDB. Sie können Vektoreinbettungen zusammen mit anderen Dokumentdaten speichern und kontextbezogener sowie präziser suchen. Sie können beliebige Daten abfragen, die bis zu 4096 Dimensionen eingebettet werden können, und die Vektorähnlichkeitssuche mit Dokumentfilterung kombinieren.
MyScale ist darauf ausgelegt, sowohl strukturierte als auch Vektordaten zu verarbeiten. Es ist für Echtzeitanalysen und Machine-Learning-Workloads konzipiert und eignet sich daher gut für Zeitreihen, Vektorsuche und Volltextsuche. Die Fähigkeit von MyScale, analytische Workloads sowohl strukturierter als auch vektorisierter Daten auf einer Plattform mit OLAP-Datenbankarchitektur zu verarbeiten, ist einzigartig.
Skalierbarkeit und Leistung
MongoDB Atlas verfügt über Search Nodes, die dedizierte Infrastruktur für Atlas Search- und Vector Search-Workloads bereitstellen. Das bedeutet optimierte Rechenressourcen und unabhängige Skalierung der Suchanforderungen für bessere Leistung in großem Maßstab.
MyScale basiert auf ClickHouse, dessen Architektur für ihre hohe Leistung und Skalierbarkeit bekannt ist. Seine proprietäre MSTG-Vektor-Engine verwendet NVMe-SSDs, um die Datendichte zu erhöhen, und kann spezialisierte Vektordatenbanken potenziell sowohl bei Leistung als auch Kosten übertreffen.
Flexibilität und Anpassung
MongoDB Atlas Vector Search ermöglicht hybride Suche, indem Vektorsuche mit Volltextsuche für granularere Ergebnisse kombiniert wird. Außerdem ermöglicht es die Kombination von Vektorähnlichkeitssuche mit Dokumentfilterung für mehr Flexibilität bei der Abfrageerstellung.
MyScale verfügt über native SQL-Unterstützung, sodass Entwickler Vektorsuche, Volltextsuche und traditionelle SQL-Abfragen in ein System integrieren können. Dieser SQL-basierte Ansatz ist für Entwickler mit Erfahrung in relationalen Datenbanken vertrauter und zugänglicher.
Integration und Ökosystem
MongoDB Atlas Vector Search integriert sich in beliebte KI-Dienste und -Tools und unterstützt Einbettungsmodelle von OpenAI und VoyageAI. Es arbeitet mit Open-Source-Frameworks wie LangChain und LlamaIndex zum Erstellen von Anwendungen, die Large Language Models (LLMs) verwenden.
Die Integration von MyScale wird in den Dokumentationen nicht ausdrücklich erwähnt, aber seine SQL-Unterstützung impliziert, dass es sich in viele SQL-kompatible Tools und Frameworks integrieren lässt.
Benutzerfreundlichkeit
MongoDB Atlas Vector Search baut auf dem bestehenden MongoDB-Ökosystem auf. Wenn Sie also bereits mit MongoDB vertraut sind, wird die Lernkurve sanfter sein.
MyScale’s SQL zum Abfragen von Vektordaten könnte für Entwickler mit SQL-Erfahrung zugänglicher sein, aber die Vielfalt der Indexierungsalgorithmen und Parameter erfordert mehr Lernen und Feinabstimmung, um die beste Leistung zu erzielen.
Kosten
MongoDB verfügt über ein etabliertes Ökosystem, viel Dokumentation und Entwickler sind damit vertraut. Wenn Sie MongoDB bereits verwenden, könnte das Hinzufügen von Vektorsuche eine naheliegende Entscheidung sein.
Der einheitliche Ansatz von MyScale kann Infrastruktur- und Wartungskosten senken, indem mehrere Funktionalitäten in einem System bereitgestellt werden. Seine MSTG-Vektor-Engine behauptet, spezialisierte Vektordatenbanken zu übertreffen und kosteneffizienter zu sein.
Wann welches gewählt werden sollte
MongoDB Atlas Vector Search ist die bessere Wahl, wenn Sie MongoDB bereits für Ihre Datenbankanforderungen verwenden und Vektorsuche hinzufügen möchten, ohne ein weiteres System einzuführen. Es eignet sich perfekt für Anwendungen, die Vektorsuche nahtlos mit Dokumentdaten integrieren müssen, wie Empfehlungssysteme oder erweiterte Produktsuche. Die Lösung von MongoDB ist großartig, wenn Sie Vektorähnlichkeitssuche mit Dokumentfilterung kombinieren müssen, damit Sie kontextbezogenere Fragen stellen können. Wählen Sie MongoDB Atlas Vector Search, wenn Sie das MongoDB-Ökosystem nutzen möchten, einschließlich Skalierbarkeit und Integration mit beliebten KI-Tools.
MyScale ist die bessere Wahl, wenn Sie eine einzige Plattform benötigen, die SQL-Datenbank, Vektorsuche und Volltextsuche kombiniert. Es eignet sich perfekt für Anwendungen, die sowohl strukturierte als auch Vektordaten in Echtzeit verarbeiten müssen, wie KI-gestützte Analysen oder komplexe Zeitreihenanalysen mit Vektorkomponenten. Die native SQL-Unterstützung von MyScale macht es zu einer großartigen Option für Teams mit starken SQL-Kenntnissen, die Vektorsuche mit einer vertrauten Abfragesprache durchführen möchten. Wählen Sie MyScale, wenn Sie Flexibilität bei Vektorindexierungsalgorithmen benötigen, Kosten und Leistung im großen Maßstab optimieren möchten oder eine Lösung benötigen, die mehrere Datentypen und Suchmodalitäten auf einer Plattform verarbeiten kann.
Fazit
MongoDB Atlas Vector Search lässt sich nahtlos in Ihre bestehende MongoDB-Bereitstellung integrieren, bietet leistungsstarke Vektorsuche und kann Vektorsuche mit Dokumentfilterung kombinieren. MyScale ist eine einzelne Plattform für SQL-, Vektor- und Volltextsuche mit flexibler Indexierung und nativer SQL-Unterstützung für Vektorabfragen. Ihre Wahl zwischen diesen hängt von Ihrer bestehenden Infrastruktur, Ihrem Anwendungsfall und Ihrem Team ab. Berücksichtigen Sie Faktoren wie die Integration mit Dokumentdaten, SQL-basierte Abfragen, die Arten von Daten, mit denen Sie arbeiten, und Skalierbarkeitsanforderungen. Beide bieten robuste Vektorsuche, aber ihre Stärken passen zu unterschiedlichen Szenarien und Entwicklungsumgebungen.
Lesen Sie dies, um einen Überblick über MongoDB und MyScale zu erhalten, aber um diese zu bewerten, müssen Sie sie anhand Ihres Anwendungsfalls bewerten. Ein Tool, das dabei helfen kann, ist VectorDBBench, ein Open-Source-Benchmarking-Tool zum Vergleich von Vektordatenbanken. Letztendlich 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.
Open-Source-VectorDBBench verwenden, um Vektordatenbanken selbst zu bewerten und zu vergleichen
VectorDBBench ist ein Open-Source-Benchmarking-Tool für Nutzer, die leistungsstarke Datenspeicher- und Abrufsysteme benötigen, insbesondere Vektordatenbanken. Dieses Tool ermöglicht es Nutzern, 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 Nutzer Entscheidungen auf der Grundlage der tatsächlichen Leistung von Vektordatenbanken treffen, statt auf Marketingaussagen oder Hörensagen.
VectorDBBench ist in Python geschrieben und unter der MIT-Open-Source-Lizenz lizenziert, was bedeutet, dass jeder es frei nutzen, ä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

Introducing Zilliz MCP Server: Natural Language Access to Your Vector Database
Developers can easily manage and query vector databases with natural language via Zilliz MCP Server in AI-native environments.

Vector Databases vs. Graph Databases
Use a vector database for AI-powered similarity search; use a graph database for complex relationship-based queries and network analysis.

AI Integration in Video Surveillance Tools: Transforming the Industry with Vector Databases
Discover how AI and vector databases are revolutionizing video surveillance with real-time analysis, faster threat detection, and intelligent search capabilities for enhanced security.
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.


