Die Entwicklung und Zukunft von Vektordatenbanken: Einblicke von Charles, CEO von Zilliz
Dies ist der erste Teil unserer zweiteiligen Blogserie über die Entwicklung und Zukunft von Vektordatenbanken und KI.
Vektordatenbanken haben sich als entscheidende Innovation im sich rasant entwickelnden Bereich der Data Science und künstlichen Intelligenz herausgebildet, angetrieben durch den Anstieg komplexer, unstrukturierter Daten und den Aufstieg großer Sprachmodelle (LLMs). Dieser neue Datenbanktyp ist von zentraler Bedeutung für die Verwaltung und semantische Abfrage unstrukturierter Daten mithilfe von Vektoreinbettungen, modernisiert den Datenzugriff und die Analyse und erfüllt die Anforderungen von KI-Anwendungen der nächsten Generation. Gestützt auf Erkenntnisse von Charles, CEO von Zilliz, untersucht dieser Blog die Entwicklung, aktuelle Dynamik und künftige Ausrichtung von Vektordatenbanken.
Was ist eine Vektordatenbank?
Eine Vektordatenbank ist eine hochmoderne Dateninfrastruktur, die darauf ausgelegt ist, unstrukturierte Daten wie Bilder, Videos und natürliche Sprachen zu verwalten und abzufragen. Wir können Deep-Learning-Algorithmen verwenden, um unstrukturierte Daten in ein neuartiges Datenformat umzuwandeln, das als Vektoreinbettungen bekannt ist. Anschließend speichern wir diese Einbettungen in einer Vektordatenbank, die es uns ermöglicht, semantische Abfragen auf diesen Daten durchzuführen. Diese Fähigkeit ist äußerst leistungsfähig, da sie uns im Gegensatz zu herkömmlichen stichwortbasierten Suchen ermöglicht, die Semantik unstrukturierter Daten zu untersuchen und ein nuancierteres sowie kontextuell reichhaltigeres Sucherlebnis zu bieten.
Entwickler nutzen Vektordatenbanken in großem Umfang, um intelligente und personalisierte Empfehlungssysteme, KI-gestützte Chatbots und semantische Suche zu entwickeln. Mit dem Aufstieg von LLMs haben sich Vektordatenbanken als zentrale Infrastrukturkomponente der Retrieval-Augmented Generation (RAG) etabliert, indem sie LLMs zusätzliches Wissen als Abfragekontext zur Generierung hochrelevanter Antworten bereitstellen.
Die aktuelle Landschaft der Vektordatenbanken
Derzeit ist der Markt mit zahlreichen „Vektordatenbanken“ bevölkert, darunter zweckgebundene Vektordatenbanken wie Milvus, traditionelle Datenbanken mit einem Vektorsuch-Plugin wie Elasticsearch, leichtgewichtige Vektordatenbanken wie Chroma und viele weitere Technologien mit Vektorsuchfunktionen wie FAISS. Obwohl es so viele Arten von Vektordatenbanken gibt, sind sie nicht alle gleichwertig.
Vektorsuchtechnologien
Einige verfolgen Ansätze, die eingebetteten Systemen ähneln, wie etwa Chroma, das in dieser Hinsicht als führend gilt. Sein Vorteil liegt in seinem minimalen Ressourcenbedarf, wodurch es für Nutzer außergewöhnlich einfach ist, es einzurichten und den Betrieb aufzunehmen. Wie SQLite ist Chroma jedoch kein vollständiges Datenbanksystem, sondern eine Laufzeitbibliothek. Folglich fehlt ihm die Unterstützung wesentlicher Funktionen wie Datenpersistenz, Datenwiederherstellung und insbesondere Skalierbarkeit.
Datenbanken wie PGVector und Pinecone haben einen Scale-up-Ansatz übernommen. Wenn sie auf fortschrittlicheren Prozessoren bereitgestellt werden, erzielen sie innerhalb einer Single-Node-Instanz eine überlegene Leistung und schaffen kurzfristiges Vertrauen in ihre Fähigkeiten. Skalierung nach oben hat jedoch Grenzen, hauptsächlich aufgrund der physischen Beschränkungen, die durch eine Single-Node-Maschine auferlegt werden. Pinecone unterstützt beispielsweise eine beträchtliche Anzahl von Pods, ist jedoch durch die CPU-Aufrufe auf einer einzelnen x86-Architektur eingeschränkt. Die Entscheidung für die neuesten, teureren CPU-Architekturen ist notwendig, um diese Grenzen zu überschreiten.
Ein weiterer Nachteil des Scale-up-Modells ist das Risiko eines Single Point of Failure. Im Falle eines Knotenausfalls gehen alle mit diesem Knoten verbundenen Daten verloren. Im Gegensatz dazu ermöglicht eine verteilte Architektur, die dem Scale-out-Ansatz innewohnt, effiziente Datenreplikation und Failover-Mechanismen. In einem Worst-Case-Szenario, bei dem ein Knoten in einem verteilten System mit beispielsweise 16 Knoten verloren geht, ist nur ein Bruchteil (1/16) der Daten gefährdet. Die Wiederherstellung dieses kleineren Datenanteils ist besser handhabbar und schneller, wodurch das Risiko eines vollständigen Datenverlusts minimiert wird.
Wie haben wir die Milvus-Vektordatenbank entwickelt?
Bevor wir unsere Reise beim Aufbau von Milvus erkunden, lassen Sie uns das Wesen von Datenbanksystemen besprechen. Im Allgemeinen umfasst ein umfassendes Datenbanksystem eine Speicherschicht, ein festgelegtes Speicherformat, eine Datenorchestrierungsschicht, die dafür verantwortlich ist, Daten an geeigneten Orten zu platzieren oder zwischenzuspeichern, einen Abfrageoptimierer und eine effiziente Ausführungs-Engine. Die Ausführungs-Engine und der Abfrageoptimierer müssen flexibel sein, um sich an ein breiteres Spektrum von Hardware-Infrastrukturen anzupassen und dafür zu optimieren, angesichts der Verbreitung heterogener Architekturen im letzten Jahrzehnt. Diese Flexibilität stützt sich auf verschiedene zugrunde liegende Prozessoren, darunter moderne CPUs, ARM-Prozessoren, GPUs und eine Reihe von Beschleunigern, die ausdrücklich für KI-Anwendungen entwickelt wurden. Eine solche Integration ermöglicht die Erstellung optimaler Ausführungspläne, die die einzigartigen Stärken jedes Prozessortyps nutzen und dadurch die Effizienz und Leistung der Abfrageausführung erheblich verbessern.
Was ist also unsere Philosophie beim Aufbau des Milvus-Vektordatenbanksystems?
Heterogenes Computing nutzen
Seit seiner Einführung hat sich Milvus vollständig dem heterogenen Computing verschrieben und zeigt seine Vielseitigkeit und hohe Leistung auf verschiedenen modernen Prozessoren. Es unterstützt verschiedene Hardware, von Intel- und AMD-CPUs bis hin zu ARM-Prozessoren und Nvidia-GPUs. Die Integrationsfähigkeiten von Milvus decken KI-Vektorverarbeitungsaufgaben von grundlegender linearer Algebra bis hin zu komplexen graphbasierten Berechnungen ab. Diese Kompatibilität ist entscheidend, da jeder Prozessortyp über einen einzigartigen Befehlssatz, eine Cache-Architektur und ein Ausführungsmodell verfügt. Die Anpassung von Algorithmen und die Optimierung der Ausführungs-Engine an diese unterschiedlichen Merkmale maximieren Leistung und Effizienz.
Unterstützung sowohl vertikaler als auch horizontaler Skalierbarkeit
Da die Datenmengen weiter wachsen, wird Skalierbarkeit zu einem kritischen Anliegen. Wir haben das Milvus-System entwickelt, um diese Herausforderung sowohl durch vertikale (Scaling up) als auch horizontale (Scaling out) Skalierbarkeit zu bewältigen. Diese Fähigkeit umfasst die Entwicklung vielfältiger verteilter Algorithmen zur Erleichterung des Scaling out sowie die Einführung robuster Strategien für Datenkonsistenz, Synchronisierung, Replikation und Wiederherstellung im Falle unerwarteter Systemausfälle.
Reibungslose Entwicklererfahrung vom Prototyping bis zur Produktion bieten
Wir bieten eine Reihe von Milvus-Bereitstellungsmodi, um den besonderen Anforderungen verschiedener Entwicklungsphasen gerecht zu werden: Milvus Lite für schnelles Prototyping, Milvus Standalone für Anwendungen kleineren Umfangs, Milvus Cluster für horizontale Skalierbarkeit und Zilliz Cloud (das vollständig verwaltete Milvus) für eine einfache Verwaltung. Zusätzlich dazu, die marktführende Position bei leistungsstarken Vektordatenbanken zu behaupten, setzen wir uns dafür ein, die Erfahrung von KI-Entwicklern zu verbessern, die neu im Bereich Suche sind. Wir werden Milvus Lite bald auf einen noch einsteigerfreundlicheren, benutzerfreundlicheren Bereitstellungsmodus aktualisieren.
Die Kernphilosophie ist einfach: Implementieren Sie clientseitigen Code einmal und verwenden Sie ihn in jeder Phase Ihrer Anwendungsentwicklung mit maßgeschneiderten Milvus-Instanzen, vom Prototyping in einem Jupyter Notebook bis hin zu einem Produktionsdienst, der Milliarden von Dokumenten bereitstellt – überall dort, wo Vektorsuche benötigt wird.
Eine detaillierte Anleitung zur Auswahl aus den vier verschiedenen Milvus-Versionen finden Sie in diesem Blog darüber, mit welcher Milvus-Version Sie beginnen sollten.
Wie wählen Sie die richtige Vektordatenbank für Ihr Unternehmen aus?
Wenn Sie den Wechsel zu einer Vektordatenbank in Betracht ziehen, gibt es zwei Hauptaspekte zu bewerten:
Bewerten Sie zunächst, ob die Leistung der Vektorsuche für Ihr Unternehmen entscheidend ist. Wenn Sie beispielsweise eine Retrieval-Augmented-Generation-(RAG)-Lösung entwickeln, die täglich Millionen von Benutzern bedient und zentral für Ihr Unternehmen ist, wird die Leistung der Vektorberechnung entscheidend. In einem solchen Fall wird empfohlen, sich für ein reines Vektordatenbanksystem zu entscheiden. Eine spezialisierte Vektordatenbank wie Zilliz Cloud gewährleistet nicht nur eine konsistente, optimale Leistung, sondern entspricht auch Ihren SLA-Anforderungen und bietet Sicherheit für geschäftskritische Dienste, bei denen Leistung nicht verhandelbar ist.
Berücksichtigen Sie zweitens das prognostizierte Wachstum des Datenvolumens im Laufe der Zeit. Wenn Ihr Dienst über einen längeren Zeitraum läuft, wächst das Volumen Ihrer Datensätze, wodurch Kostenoptimierung zu einem unvermeidlichen Faktor für Ihre Entscheidungsfindung wird. Die meisten reinen Vektordatenbanksysteme auf dem Markt bieten überlegene Leistung bei geringerem Ressourcenbedarf, wodurch sie äußerst kosteneffizient sind. In diesem Zusammenhang sticht Milvus hervor und zeigt eine mehr als 100-mal höhere Kosteneffizienz als Alternativen wie PG Vector, OpenSearch und andere nicht-native Webdatenbanklösungen.
Zusätzlich zu den oben genannten Faktoren gehören Leistung, Skalierbarkeit und Funktionalität zu den wichtigsten Kennzahlen für die Bewertung einer Vektordatenbank. Eine detailliertere Anleitung zur Bewertung von Vektordatenbanken finden Sie in diesem Benchmarking-Blog
Wann ist eine vollwertige, verteilte Vektordatenbank unnötig?
Eine vollwertige Vektordatenbank könnte für Entwickler und Organisationen, die an Prototypen arbeiten oder RAG-Lösungen testen, überdimensioniert sein. Eine lokal laufende, leichtgewichtige Vektordatenbank könnte für sie ausreichen. Um Benutzern eine optimalere Benutzererfahrung zu bieten, wird Milvus mehr Unterstützung für lokale Bereitstellung bieten, zugeschnitten auf eine schnellere Einrichtung in den Anfangsphasen der Entwicklung.
Unser Engagement erstreckt sich darauf, Entwicklern unabhängig vom Umfang oder der Komplexität ihres Projekts eine einheitliche Erfahrung zu bieten. Ganz gleich, ob Sie den AI-Stack auf Ihrem Laptop ausprobieren oder nach einer skalierbaren und produktionsreifen Lösung für die Vektorsuche suchen, Milvus sorgt für einen reibungslosen Weg. Wenn Sie vom Prototyp zur Produktion übergehen, können Sie problemlos zur Docker- und Kubernetes-Bereitstellung migrieren, um durch die verteilte Architektur eine überlegene Leistung und Anpassbarkeit zu erzielen und von den konsistenten SDK- und API-Schnittstellen zu profitieren. Auf dem gut ausgeleuchteten Weg müssen Sie Ihr Programm nur einmal schreiben, und es kann nahtlos in verschiedenen Umgebungen ausgeführt werden, von Laptops bis hin zu Rechenzentren und Public Clouds. Unser Ziel ist es, Entwickler in jeder Phase zu unterstützen und Flexibilität zu bieten, ohne die Benutzererfahrung zu beeinträchtigen.
Wie sieht die Zukunft von Vektordatenbanken aus?
Wir haben eine Erweiterung der von Vektordatenbanksystemen angebotenen Funktionalitäten beobachtet. In den vergangenen Jahren konzentrierten sich diese Systeme hauptsächlich darauf, eine einzige Funktionalität bereitzustellen: die approximative Suche nach nächsten Nachbarn (ANN-Suche). Die Landschaft entwickelt sich jedoch weiter, und in den nächsten zwei Jahren werden wir ein breiteres Spektrum an Funktionalitäten sehen.
Traditionell unterstützten Vektordatenbanken die ähnlichkeitsbasierte Suche. Jetzt erweitern sie ihre Fähigkeiten um exakte Suche oder Matching. Diese Vielseitigkeit ermöglicht es Ihnen, Ihre Daten durch zwei Blickwinkel zu analysieren: eine Ähnlichkeitssuche für ein breiteres Verständnis und eine exakte Suche für Nuancen. Durch die Kombination dieser beiden Ansätze können Benutzer das Gleichgewicht zwischen dem Erhalt eines allgemeinen Überblicks und dem Eintauchen in spezifische Details feinabstimmen.
Eine Skizze der Daten zu erhalten, kann in bestimmten Situationen ausreichend sein, und eine semantikbasierte Suche funktioniert gut. In Situationen jedoch, in denen kleinste Unterschiede eine Rolle spielen, können Benutzer in die Daten hineinzoomen und jeden Eintrag auf subtile Merkmale hin prüfen.
Vektordatenbanken werden wahrscheinlich zusätzliche Workloads für Vektorberechnungen unterstützen, wie etwa Vektor-Clustering und -Klassifizierung. Diese Funktionalitäten sind nicht nur zusätzliche Features, sondern in Anwendungen wie Betrugserkennung und Anomalieerkennung besonders relevant und wirkungsvoll. Hier können Techniken des unüberwachten Lernens angewendet werden, um Vektoreinbettungen zu clustern oder zu klassifizieren, gemeinsame Muster zu identifizieren und potenziell erhebliche Verluste zu verhindern.
Im nächsten Teil der Blogreihe werde ich meine Einblicke in die Entwicklung von KI-Technologien und ihren Einfluss auf die Zukunft von Vektordatenbanken teilen. Bleiben Sie dran!
Weiterlesen

How to Use Anthropic MCP Server with Milvus
MCP + Milvus: Streamline AI agent development with standardized data access, eliminating integration hassles while enhancing context and flexibility.

DeepSeek Always Busy? Deploy It Locally with Milvus in Just 10 Minutes—No More Waiting!
Learn how to set up DeepSeek-R1 on your local machine using Ollama, AnythingLLM, and Milvus in just 10 minutes. Bypass busy servers and enhance AI responses with custom data.

DeepSeek-VL2: Mixture-of-Experts Vision-Language Models for Advanced Multimodal Understanding
Explore DeepSeek-VL2, the open-source MoE vision-language model. Discover its architecture, efficient training pipeline, and top-tier performance.



