AlloyDB AI integriert die Vektorverarbeitung und die Ähnlichkeitssuche direkt in AlloyDB for PostgreSQL. So können Sie sowohl strukturierte relationale Daten als auch unstrukturierte Daten nach semantischer Bedeutung abfragen. Durch die Kombination von Standard-SQL-Funktionen mit der Approximate Nearest Neighbor-Indexierung (ANN) unterstützt AlloyDB AI semantische Such- und Retrieval-Augmented Generation-Workflows (RAG), ohne dass Sie eine separate Vektordatenbank bereitstellen und verwalten müssen.
Kernarchitektur und Leistung
AlloyDB verwendet die pgvector-Erweiterung von PostgreSQL für Vektorfunktionen. Es 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 Integration in die PostgreSQL-Umgebung ermöglicht schnelle, 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 |
|---|---|---|
| Indexerstellung | Bis zu 10‑mal schneller | Parallele Indexerstellung |
| Vektorsuchabfragen | Bis zu 4‑mal schneller | Automatische Indexwartung |
| Gefilterte Vektorsuchabfragen | 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 für 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 Auswertung 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 erheblich reduziert, insbesondere wenn Filter mäßig selektiv sind.
Nahtlose Integration 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 mit der Funktion
embedding()gespeichert werden. So bleiben die Vektordaten mit den Quelldaten der Spalte 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
Wenn Vektoreinbettungen gespeichert sind, können Entwickler mit dem Operator für die 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 Ausgabeerstellung verwendet.