Jeffrey Erickson | Content Strategist | 29. Oktober 2024
Ein weniger bekannter Datentyp, die Vektoren, sind in letzter Zeit als Wegbereiter der generativen KI in den Fokus gerückt. Doch Vektoren – und Datenbanken, die sie speichern und analysieren können – arbeiten bereits seit vielen Jahren im Hintergrund. Sie werden beim Geodaten-Mapping und der -analyse für die Stadtplanung, die Transportlogistik und die Umweltanalyse eingesetzt. Seit kurzem werden Vektoren außerdem in Empfehlungsmaschinen für Einzelhandelsprodukte sowie auf Musik- und Videostreaming-Websites eingesetzt.
Generative KI baut auf diesen Anwendungsfällen auf und öffnet die Tür zu Innovationen unter Verwendung von Vektoren und Vektordatenbanken zusammen mit begleitenden Technologien wie Retrieval-Augmented Generation (RAG).
Ein Vektor ist einfach eine Reihe von Zahlen, die die Merkmale eines Objekts darstellen – unabhängig davon, ob es sich bei diesem Objekt um ein Wort, einen Satz, ein Dokument, ein Bild oder eine Video- oder Audiodatei handelt. Vektoren werden benötigt, weil der Vergleich oder die Suche nach dieser Art von unstrukturierten Inhalten für Computer schwierig ist. Der Vergleich oder die Suche von Vektoren ist dagegen viel einfacher und basiert auf verständlicher Mathematik.
Vektoren werden in einer Datenbank gespeichert, zusammen mit den Datenobjekten, auf denen sie basieren, oder mit einem Link zu diesen. Vektoren, die mathematisch nahe beieinander liegen, beschreiben in der Regel Objekte mit ähnlichen Merkmalen, sodass Sie sie schnell vergleichen oder suchen und ähnliche Objekte zurückgeben können. Darüber hinaus können Sie einen Abfragevektor mit nur bestimmten identifizierten Merkmalen erstellen. Eine Suche gibt Objekte mit Merkmalen zurück, die denen im Abfragevektor ähnlich sind.
Eine Vektordatenbank ist eine Datenbank, die Vektoreinbettungen nativ speichern und verwalten und die von ihnen beschriebenen unstrukturierten Daten wie Dokumente, Bilder, Videos oder Audiodateien verarbeiten kann.
Mit der zunehmenden Bedeutung der Vektorsuche für generative KI hat die Tech-Branche viele spezialisierte, eigenständige Vektordatenbanken hervorgebracht, die Unternehmen zu ihren Dateninfrastrukturen hinzufügen können. Inzwischen haben Versionen etablierter Favoriten wie Oracle Database und die Open-Source-MySQL Database Vektoren als nativen Datentyp neben vielen anderen Datentypen integriert. Dadurch können Suchanfragen mit einer Kombination aus Geschäfts- und semantischen Daten schneller und präziser durchgeführt werden, da beide Datentypen in einer einzigen Datenbank verfügbar sind. Dieser Ansatz vermeidet außerdem die Probleme mit der Datenkonsistenz, die entstehen, wenn zusätzlich zur primären Datenbank des Unternehmens eine separate, spezialisierte Vektordatenbank verwendet wird.
Vektorindizes und Vektordatenbanken dienen beide dazu, Vektoren, d. h. Zahlenfolgen, die die Merkmale eines Objekts wie ein Dokument, ein Bild oder eine Video- oder Audiodatei darstellen, effizient zu speichern und abzurufen. Sie weisen jedoch unterschiedliche Merkmale und Anwendungsfälle auf. Vektorindizes werden hauptsächlich für die „Nearest-Neighbor“-Suche verwendet, bei der der nächstgelegene Vektor zu einem bestimmten Abfragevektor gefunden wird. Indizes eignen sich hervorragend für Anwendungen, die schnelle und genaue Ähnlichkeitssuchen erfordern, wie z. B. eine Empfehlungsmaschine. Im Gegensatz dazu speichern Organisationen Vektoren in Vektordatenbanken, um sie abzurufen und zu analysieren. Eine Vektordatenbank der Unternehmensklasse bietet nützliche Funktionen, die über die Suche nach dem nächsten Nachbarn hinausgehen, wie z. B. Metadatenspeicherung, Datenversionierung und Integration mit anderen Systemen.
Der Hauptunterschied zwischen einem Vektorindex und einer Vektordatenbank besteht darin, dass Vektorindizes Informationen über die Attribute unstrukturierter Daten wie Text, Bilder oder Audiodateien speichern. Diese Informationen werden durch eine Reihe von Zahlen dargestellt, die als Vektor bezeichnet werden. Der Vektorindex enthält diese Daten und „indexiert“ sie auf eine Weise, die es einer Datenbank ermöglicht, Objekte schnell zu identifizieren und abzugleichen.
Eine Vektordatenbank enthält diese Indizes und die Objekte, die sie beschreiben. Die Anordnung der Vektorindizes und Datenobjekte in einer Datenbank variiert jedoch. Vektorfähige Datenbanken wie Oracle Database trennen die Speicherung von Datenobjekten von der Art und Weise, wie die Daten und Vektoren durchsucht werden. Dadurch können sie die ausgereifte Abfrageleistung von SQL für Metadaten und aktuelle Geschäftsdaten mit der Geschwindigkeit und kontextbezogenen Relevanz der Vektorsuche kombinieren. Dieser Ansatz bedeutet beispielsweise, dass eine Vektorsuche nach relevanten Einzelhandelsprodukten auch aktuelle Preis- und Verfügbarkeitsinformationen liefern kann.
Wichtige Erkenntnisse
Anstatt die Kosten und den Aufwand für die Feinabstimmung generativer KI-Modelle zu übernehmen, kuratieren Unternehmen die Daten, die LLMs zur Generierung ihrer Ergebnisse verwenden. Sie nutzen Vektordatenbanken, die aktuelle Unternehmensinformationen enthalten. Dieser architektonische Ansatz, der als „Retrieval-Augmented Generation“ bezeichnet wird, ermöglicht es einem LLM, das auf der Grundlage großer Mengen verallgemeinerter Daten trainiert wurde, seine Antwort durch die Verwendung privater Daten aus einer Vektordatenbank zu verbessern.
Wenn beispielsweise ein LLM-gestützter Chatbot auf die Kundendaten und E-Mail-Kommunikation eines Einzelhändlers zugreifen könnte, anstatt generische Nachrichten zu versenden, wäre er in der Lage, nützlichere und personalisierte Antworten auf Fragen wie: „Wurde meine Bestellung versandt?“, zu geben.
RAG kann darüber hinaus die Zuverlässigkeit und Vertrauenswürdigkeit generativer KI-Modelle erhöhen, indem es angibt, welche Dokumente in der Vektordatenbank seine Ergebnisse beeinflusst haben.
Es ist nicht überraschend, dass die Nutzung von Datenbanken, die für die Speicherung und Analyse von Vektoren optimiert sind, zunimmt. Einst hauptsächlich für Mapping und Datenanalysen verwendet, sind Vektordatenbanken mittlerweile eine entscheidende Grundlagentechnologie für die Empfehlungsmaschinen, die von den beliebtesten Einzelhändlern und Musik- und Videostreaming-Anbietern sowie für virtuelle Assistenten, die Erkennung biometrischer Muster, die Anomalieerkennung und vieles mehr verwendet werden. Und jetzt werden Vektordatenbanken auf spektakuläre Weise neu genutzt: Sie speichern große Mengen unstrukturierter Daten, auf die zugegriffen werden kann, um die Ergebnisse generativer KI-Modelle zu beeinflussen.
Ein wachsender Trend besteht gerade darin, dass etablierte Datenbanken wie MySQL und Oracle Database Vektordaten als nativen Datentyp neben den übrigen Daten einer Organisation, wie JSON, Graphen, Geo- und relationale Daten, integrieren. Durch diese Konvergenz entfällt die Notwendigkeit, Daten für generative KI-Operationen in eine separate Datenbank zu verschieben, was sowohl den Prozess vereinfacht als auch wertvolle Daten in vertrauenswürdigen Repositories belässt.
Die wachsende Zahl von Anwendungsfällen für generative KI bedeutet, dass es neben den etablierten NoSQL- und relationalen Datenbanken, die um die Verwaltung von Vektordatentypen erweitert wurden, viele neue Vektordatenbanken auf dem Markt gibt.
Vektordatenbanken speichern und verarbeiten Daten als Vektoren, die mathematische Darstellungen von Merkmalen von Objekten in einem mehrdimensionalen Raum sind. Dadurch können komplexe Datentypen wie Bilder, Audio-, Video- und Sensordaten effizient gespeichert und abgefragt werden, weshalb Vektoren ideal für Anwendungsfälle wie Empfehlungssysteme, natürliche Sprachverarbeitung und Bilderkennung sind.
Die Vorgänge erfolgen dabei in mehreren Schritten:
Vektordatenbanken können in verschiedene Typen unterteilt werden, entweder nach ihrer Speicherstruktur, wie z. B. spaltenbasiert, oder nach ihrer Implementierung, wie z. B. In-Memory-Datenbanken. Jeder Typ hat seine Vorteile. Welchen Typ Sie auswählen, sollte sich nach Ihren spezifischen Anforderungen und Anwendungsfällen richten.
Eine Spaltendatenbank speichert Daten in Spalten und gruppiert sie auf einer Festplatte. Diese Anordnung beschleunigt die Datenanalyse, da die Analyse in der Regel das Filtern und Kombinieren von Daten aus Tabellenspalten umfasst. Datenbanken können Datensätze außerdem im Zeilenformat speichern. Das ist besonders bei Transaktionen hilfreich, bei denen Sie einen einzelnen Eintrag im Datensatz aktualisieren. Für die Datenanalyse ermöglicht eine spaltenbasierte Datenbank Analysten, jede Spalte von Tausenden oder Millionen von Datensätzen enorm schnell zu durchsuchen.
Eine Dokumenten- oder dokumentenorientierte Datenbank ist ein Programm und ein Datenspeichersystem, das dokumentenorientierte Informationen verwaltet, abruft und speichert. Dokumentdatenbanken speichern Daten in flexiblen, JSON-ähnlichen Dokumenten, die sich für unterschiedliche und dynamische Datenstrukturen eignen. Sie unterscheiden sich von relationalen Datenbanken, die Tabellen verwenden, um Daten mit einem festen Schema zu organisieren.
Bei der Graphenanalyse werden Daten in einem Diagrammformat analysiert, wobei Datenpunkte als Knoten und Beziehungen als Kanten verwendet werden. Wenn Sie Daten auf diese Weise betrachten, können Sie Zusammenhänge und Beziehungen entdecken, die vorher nicht offensichtlich waren. Für die Graphenanalyse ist eine Datenbank erforderlich, die Diagrammformate unterstützt. Das könnte eine dedizierte Graphendatenbank oder eine konvergente Datenbank sein, die mehrere Datenmodelle unterstützt, einschließlich Graphen.
In-Memory-Datenbanken speichern und bearbeiten Daten im Arbeitsspeicher einer Anwendung und nicht auf einer Festplatte. Diese Art von Struktur wird häufig mit einer säulenförmigen Speicherfunktionalität und vektorisierten Abfrageplänen kombiniert, um analytische Abfragen zu beschleunigen. Diese Art von Datenspeicher eignet sich besonders gut für blitzschnelle Vorgänge in der globalen Telekommunikation und in Unternehmen, die Entscheidungen auf der Grundlage von Echtzeitdaten treffen müssen.
Key-Value Stores, manchmal auch Schlüssel-Werte-Datenbanken genannt, sind eine schnelle Möglichkeit, häufig wechselnde Daten, wie z. B. Elemente in einem Online-Shop, zu speichern und abzufragen. Ein Key-Value Store ist eine NoSQL-Datenbank, die einen Schlüsselwert verwendet, um einen bestimmten Datensatz für eine Abfrage oder Aktualisierung zu ermitteln.
Eine Geodatenbank speichert und verwaltet Geodaten, die Informationen über den physischen Standort und die geometrischen Eigenschaften von Objekten im Raum darstellen. Dazu werden Indexierungstechniken und Abfragevorgänge eingesetzt. Geodatenbanken werden für Online-Mapping und -Analyse sowie für den Versandlogistikbetrieb verwendet.
Eine Zeitreihendatenbank wird verwendet, um zeitgestempelte Daten effizient zu speichern und zu analysieren, wobei jeder Datenpunkt mit einem bestimmten Zeitstempel oder Zeitintervall verknüpft ist. Solche Datenbanken werden häufig in IT-Überwachungssystemen, die auf Log-Analysen angewiesen sind, und im Finanzwesen verwendet.
Vektordatenbanken verbessern kommerzielle oder Open-Source-Sprachmodelle, indem sie ihnen Zugang zu aktuellen Informationen bieten, die von einer lokalen Organisation oder einem Unternehmen bereitgestellt werden. Dadurch wird die Leistung des LLM für die mit dieser Organisation verbundenen Personen relevanter und individueller.
Vektordatenbanken werden von verschiedenen Anwendungen und Organisationen genutzt, die mit großen Mengen räumlicher und geometrischer Daten arbeiten, z. B. im Einzelhandel und in der Logistikbranche sowie für Systeme, die autonome Fahrzeuge steuern. Aber auch Unternehmen, die sich mit fortgeschrittener KI und maschinellem Lernen befassen, setzen mittlerweile Vektordatenbanken ein. Generative KI-Modelle beispielsweise sind auf Vektordatenbanken angewiesen, um ihre Ergebnisse durch die Verwendung lokaler, aktueller Daten zu verbessern.
Weitere spezifische Anwendungsfälle sind:
Die Anwendungsfälle für Vektordatenbanken sind so vielfältig wie die Organisationen und Anwendungen, die sich auf sie verlassen. Zusätzlich zu Echtzeit-Datenanalysen, Finanzsystemen und Empfehlungsmaschinen sind Vektordatenbanken für die Verarbeitung komplexer Datenstrukturen optimiert, die häufig für Aufgaben wie Bilderkennung und Verarbeitung natürlicher Sprache erforderlich sind.
Durch die effiziente Speicherung und Verarbeitung von Daten ermöglichen Vektordatenbanken Unternehmen die Nutzung komplexer Datenstrukturen für eine Vielzahl von Anwendungen, darunter die folgenden:
Vektordatenbanken bieten viele Vorteile, wie z. B. eine schnelle Ähnlichkeitssuche. Sie sind für eine effiziente Suche nach dem nächsten Nachbarn optimiert und ermöglichen so das schnelle Auffinden ähnlicher Elemente auch in großen Datensätzen. Dadurch eignen sie sich ideal für Anwendungen und Branchen, die eine Echtzeitverarbeitung und -analyse unstrukturierter Daten erfordern, sowie für neu entstehende Anwendungsfälle generativer KI.
Weitere Vorteile sind:
Ganz gleich, ob Sie generative KI oder nahezu jede andere Operation mit Vektoren verwenden, Oracle kann Ihnen helfen.
Oracle Database, eine der weltweit beliebtesten Unternehmensdatenbanken, bietet eine ganzheitliche Datenplattform für Vektoren und alle Ihre Geschäftsdaten. Nutzen Sie die Möglichkeiten der Ähnlichkeitssuche für die Daten Ihres Unternehmens, ohne verschiedene Datenbanken überwachen und synchronisieren zu müssen. AI Vector Search ermöglicht Ihnen die Suche in strukturierten und unstrukturierten Daten, indem es deren Semantik oder Bedeutung sowie deren Werte versteht.
Durch die Kombination von relationalen Daten, JSON-Dokumenten, Diagrammen, Geodaten, Text und Vektoren in einer einzigen Datenbank können Sie in kürzester Zeit neue Funktionen in Ihren Anwendungen erstellen. AI Vector Search in Oracle Database kann außerdem in einer RAG-Pipeline zusammen mit jedem GenAI-Service verwendet werden. Darüber hinaus verarbeitet der HeatWave MySQL-Datenbankservice von Oracle Vektoren nativ, um die Vektorsuche und andere Anwendungsfälle zu unterstützen. Sie können ihn beispielsweise zusammen mit dem RAG-Service in Oracle Cloud Infrastructure (OCI) verwenden, um eine generative KI-Schnittstelle in Ihre proprietären Dokumente zu integrieren und so eine KI zu erhalten, die ein Experte für die Betriebsdaten Ihres Unternehmens ist.
Unabhängig davon, ob Sie Vektoren für die Datenanalyse, Geodatenanwendungen, Produktempfehlungen oder als Basistechnologie für generative KI verwenden – Oracle kann Ihnen helfen. Sowohl das Flaggschiff-Produkt Oracle Autonomous Database als auch Oracle HeatWave MySQL verwalten Vektoren als nativen Datentyp neben vielen anderen Datentypen, um die Entwicklung zu vereinfachen. Beide Datenbanken laufen auf Oracle Cloud Infrastructure. OCI wurde mit den neuesten Prozessoren und einer Supercluster-Architektur entwickelt, um die anspruchsvollsten KI-Workloads, einschließlich generativer KI, Computer Vision und prädiktiver Analysen, effizient zu bewältigen. Ob Sie mit Oracle Database oder der Open-Source-MySQL Database arbeiten, Sie können noch heute die Vorteile der Vektorsuche nutzen.
Im Zeitalter der generativen KI sind Vektordatenbanken für Unternehmen wichtiger denn je. Mit der zunehmenden Anzahl von Entwicklungsteams, die den Vektordatentyp speichern und verwalten möchten, müssen diese eine Entscheidung treffen: Sie können eine spezialisierte, speziell entwickelte Vektordatenbank einführen oder Multimodell-Datenbanken wie Oracle Database verwenden, die nicht nur Vektoren, sondern auch viele andere Datentypen unterstützen.
Vektordatenbanken sind für spannende KI-Anwendungsfälle von entscheidender Bedeutung, darunter Chatbots, die den Kundenservice revolutionieren, und Algorithmen, die das Gesundheitswesen prägen. Sehen Sie, wie Unternehmen die Leistungsfähigkeit von Vektoren jetzt nutzen.
Wann sollte man eine Vektordatenbank verwenden?
Eine Vektordatenbank kann für eine Vielzahl von Anwendungsfällen genutzt werden, darunter Geo-Anwendungen wie Versandlogistik oder Umweltforschung, Empfehlungen für den Einzelhandel oder Online-Unterhaltungsoptionen oder, neuerdings, als primäres Datenlager, das die generative KI einzelner Organisationen unterstützt.
Nutzt Netflix Vektordatenbanken?
Netflix nutzt Vektordatenbanken, um seine beliebten Empfehlungsmaschinen zu unterstützen. Das Unternehmen wendet Vektoreinbettungen auf jedes Entertainment-Produkt in seinem Katalog an und die Vektordatenbank ermöglicht die Echtzeitsuche nach ähnlichen Titeln.