AlloyDB AI ist eine erweiterte Version von AlloyDB for PostgreSQL, die für die Einbindung einer leistungsstarken Vektorverarbeitung direkt in die relationale Datenbank auf Unternehmensniveau entwickelt wurde. So können Entwickler anspruchsvolle, intelligente Anwendungen erstellen, die die semantische Bedeutung von Daten in strukturierten und unstrukturierten Formaten verstehen. Durch die Kombination von SQL-Funktionen mit modernster Vektorsuchtechnologie bietet AlloyDB AI eine einheitliche, KI-fähige Plattform für die Datenverwaltung und RAG-Workflows (Retrieval-Augmented Generation). Die Bereitstellung und Verwaltung einer separaten Vektordatenbank ist nicht mehr erforderlich.
Kernarchitektur und Leistung
AlloyDB verwendet die pgvector-Erweiterung von PostgreSQL für Vektorfunktionen. Sie unterstützt den beliebten HNSW-Index sowie den ScaNN-Index (Scalable Nearest Neighbors), einen hochmodernen Vektorsuchalgorithmus, der auf jahrelanger Forschung im Bereich der Google Suche basiert. Diese enge Einbindung in die PostgreSQL-Umgebung ermöglicht schnelle, mit pgvector kompatible Vorgänge und erweiterte semantische Abfragen.
Leistung des ScaNN-Index
Der ScaNN-Index bietet erhebliche Geschwindigkeitsvorteile gegenüber dem Standard-HNSW-Index (Hierarchical Navigable Small Worlds) von PostgreSQL und ermöglicht schnelle Vektorvorgänge, die für anspruchsvolle KI-Arbeitslasten erforderlich sind:
| Vorgang | Leistungssteigerung (im Vergleich zum Standard-HNSW-Index von PostgreSQL) | Features |
|---|---|---|
| Index erstellen | Bis zu 10‑mal schneller | Parallele Indexerstellung |
| Vektorabfragen | Bis zu 4‑mal schneller | Automatische Indexwartung |
| Gefilterte Vektorabfragen | Bis zu 10‑mal schneller | Beobachtbarkeit auf Unternehmensniveau |
Adaptive Filterung und Abfrageoptimierung
Der ScaNN-Index ist eng in den PostgreSQL-Abfrageplaner eingebunden, um eine optimale Leistung bei Hybridabfragen zu gewährleisten, die sowohl Vektorähnlichkeit als auch Standardfilter für strukturierte Metadaten umfassen.
- Adaptive Filterung:Dieser Mechanismus sorgt für eine optimale Leistung, wenn Filter, Joins und Vektorindizes gleichzeitig verwendet werden. Dazu werden Statistiken zur Abfrageausführung zur Laufzeit beobachtet, die Selektivität von Filtern ermittelt und der Ausführungsplan adaptiv angepasst, um die effizienteste Reihenfolge für die Filteranwendung und die Vektorsuche zu bestimmen.
- Inline-Filterung:Die Inline-Filterung ist eine Optimierungsstrategie, die speziell für den ScaNN-Algorithmus entwickelt wurde und die Vektorsuche und die Ausführung von Metadatenfiltern gleichzeitig ausführt. Dabei werden sekundäre PostgreSQL-Indizes (z. B. B-Bäume, GIN oder GiST) verwendet, um eine Shortlist (Bitmap) von Zeilen zu erstellen, die die Filterkriterien erfüllen. Beim anschließenden Vektorscan werden nur die Abstände für Vektoren berechnet, die in diesem vorab gefilterten Satz enthalten sind. Dadurch wird der Rechenaufwand drastisch reduziert, insbesondere wenn Filter mäßig selektiv sind.
Nahtlose Einbindung in die Gemini Enterprise Agent Platform
AlloyDB AI ist für die integrierte Einbindung in das Agent Platform-Ökosystem konzipiert und ermöglicht die Transformation und Anreicherung von Daten direkt in der Datenbank mit SQL.
Automatisierte Generierung von Einbettungen
Die Plattform unterstützt die automatisierte Generierung von Einbettungen mit der Erweiterung google_ml_integration. Mit dieser Funktion können Betriebsdaten (Text, Bilder und Videos) mithilfe von Agent Platform-Modellen wie text-embedding-005 in Vektoreinbettungen umgewandelt werden.
- Modellregistrierung:Agent Platform-Modelle (Einbettung und generativ) werden mit der Prozedur
google_ml.create_modelin der Datenbank registriert. - Virtuelle Spalten:Einbettungen können automatisch generiert und in einer generierten Spalte gespeichert werden. Dazu wird die Funktion
embedding()verwendet. So bleiben die Vektordaten mit den Daten der Quellspalte synchron:
ALTER TABLE my_table
ADD COLUMN embedding vector(768)
GENERATED ALWAYS AS (embedding('text-embedding-005', source_column)) STORED;
Abfragen und generative KI-Anreicherung
Nachdem Vektoreinbettungen gespeichert wurden, können Entwickler mit dem Operator für Vektorähnlichkeit (<=>) in Standard-SQL anspruchsvolle semantische Suchen durchführen. Außerdem können die Ergebnisse dieser Suchen direkt an generative KI-Modelle wie gemini-2.0-flash-001 übergeben werden. Dazu werden Funktionen wie google_ml.generate_content für die RAG-basierte Abfrageanreicherung und die nutzerfreundliche Ausgabegenerierung verwendet.