AlloyDB AI integra el procesamiento de vectores y la búsqueda de similitud directamente en AlloyDB para PostgreSQL, lo que te permite consultar datos relacionales estructurados y datos no estructurados por significado semántico. Al combinar las capacidades de SQL estándar con la indexación de Approximate Nearest Neighbor (ANN), AlloyDB AI admite flujos de trabajo de búsqueda semántica y generación mejorada por recuperación (RAG) sin que tengas que implementar y administrar una base de datos de vectores independiente.
Arquitectura y rendimiento principales
AlloyDB usa la extensión pgvector de PostgreSQL para la funcionalidad de vectores. Es compatible con el popular índice HNSW, así como con el índice Scalable Nearest Neighbors (ScaNN), un algoritmo de Vector Search de estado del arte derivado de años de investigación de la Búsqueda de Google. Esta integración profunda en el entorno de PostgreSQL permite operaciones de alta velocidad compatibles con pgvector y consultas semánticas avanzadas.
Rendimiento del índice de ScaNN
El índice de ScaNN ofrece ventajas de velocidad significativas sobre el índice HNSW (Hierarchical Navigable Small Worlds) estándar de PostgreSQL, lo que proporciona operaciones vectoriales rápidas necesarias para cargas de trabajo de IA exigentes:
| Operación | Aumento del rendimiento (en comparación con el índice HNSW estándar de PostgreSQL) | Funciones |
|---|---|---|
| Creación de índices | Hasta 10 veces más rápido | Compilación de índices en paralelo |
| Consultas de búsqueda de vectores | Hasta 4 veces más rápido | Mantenimiento automático de índices |
| Consultas de búsqueda de vectores filtradas | Hasta 10 veces más rápido | Observabilidad de nivel empresarial |
Filtrado adaptable y optimización de consultas
El índice de ScaNN está profundamente integrado en el planificador de consultas de PostgreSQL para garantizar un rendimiento óptimo para las consultas híbridas que involucran tanto la similitud de vectores como los filtros de metadatos estructurados estándar.
- Filtrado adaptable: Este mecanismo garantiza un rendimiento óptimo cuando se utilizan filtros, uniones y índices de vectores de forma simultánea. Funciona observando las estadísticas de ejecución de consultas en el tiempo de ejecución, aprendiendo la selectividad de los filtros y ajustando de forma adaptable el plan de ejecución para determinar el orden más eficiente de la aplicación de filtros y la búsqueda de vectores.
- Filtrado en línea: Específico del algoritmo de ScaNN, el filtrado en línea es una estrategia de optimización que ejecuta la búsqueda de vectores y la evaluación de filtros de metadatos en conjunto. Aprovecha los índices secundarios de PostgreSQL (como B-trees, GIN o GiST) para crear una lista abreviada (mapa de bits) de filas que satisfagan los criterios de filtro. El análisis de vectores posterior solo calcula las distancias de los vectores contenidos en ese conjunto prefiltrado, lo que reduce drásticamente la sobrecarga computacional, en especial cuando los filtros son moderadamente selectivos.
Integración perfecta con Gemini Enterprise Agent Platform
AlloyDB AI está diseñado para la integración integrada con el ecosistema de Agent Platform, lo que permite la transformación y el enriquecimiento de datos directamente en la base de datos con SQL.
Generación automatizada de embeddings
La plataforma admite la generación automatizada de embeddings con la extensión google_ml_integration. Esta capacidad permite convertir datos operativos (texto, imágenes y video) en embeddings de vectores con modelos de Agent Platform, como text-embedding-005.
- Registro de modelos: Los modelos de Agent Platform (embeddings y generativos) se registran en la base de datos con el procedimiento
google_ml.create_model. - Columnas virtuales: Los embeddings se pueden generar y conservar automáticamente en una columna generada con la función
embedding(), lo que garantiza que los datos vectoriales permanezcan sincronizados con los datos de la columna de origen:
ALTER TABLE my_table
ADD COLUMN embedding vector(768)
GENERATED ALWAYS AS (embedding('text-embedding-005', source_column)) STORED;
Consultas y enriquecimiento de IA generativa
Con los embeddings de vectores almacenados, los desarrolladores pueden realizar búsquedas semánticas sofisticadas con el operador de similitud de vectores (<=>) en SQL estándar. Además, los resultados de estas búsquedas se pueden pasar directamente a modelos de IA generativa, como gemini-2.0-flash-001, con funciones como google_ml.generate_content para el enriquecimiento de consultas basadas en RAG y la generación de resultados fáciles de usar.