O AlloyDB AI é uma extensão avançada do AlloyDB para PostgreSQL, concebida para integrar o processamento de vetores de alto desempenho diretamente na base de dados relacional de nível empresarial. Permite aos programadores criar aplicações sofisticadas e inteligentes que compreendem o significado semântico dos dados em formatos estruturados e não estruturados. Ao unificar as capacidades SQL com a tecnologia de pesquisa vetorial de ponta, o AlloyDB AI oferece uma plataforma única pronta para IA para gestão de dados e fluxos de trabalho de geração aumentada de recuperação (RAG), eliminando a necessidade de implementar e gerir uma base de dados vetorial separada.
Arquitetura e desempenho principais
O AlloyDB usa a extensão pgvector do PostgreSQL para a funcionalidade de vetores. Suporta o popular índice HNSW, bem como o índice de vizinhos mais próximos escalável (ScaNN), um algoritmo de pesquisa vetorial de vanguarda derivado de anos de investigação da Pesquisa Google. Esta integração profunda no ambiente PostgreSQL permite operações de alta velocidade compatíveis com pgvector e consultas semânticas avançadas.
Desempenho do índice ScaNN
O índice ScaNN oferece vantagens significativas em termos de velocidade em comparação com o índice HNSW (Hierarchical Navigable Small Worlds) do PostgreSQL padrão, fornecendo operações vetoriais rápidas necessárias para cargas de trabalho de IA exigentes:
| Operação | Aumento do desempenho (em comparação com o índice HNSW do PostgreSQL padrão) | Funcionalidades |
|---|---|---|
| Criação de índice | Até 10 vezes mais rápido | Compilação de índice paralela |
| Consultas do Vector Search | Até 4x mais rápido | Manutenção automática do índice |
| Consultas de pesquisa vetorial filtradas | Até 10 vezes mais rápido | Observabilidade de nível empresarial |
Filtragem adaptável e otimização de consultas
O índice ScaNN está profundamente integrado com o planeador de consultas do PostgreSQL para garantir um desempenho ideal para consultas híbridas que envolvem a semelhança vetorial e os filtros de metadados estruturados padrão.
- Filtragem adaptável: este mecanismo garante um desempenho ideal quando os filtros, as junções e os índices vetoriais são usados em simultâneo. Funciona através da observação das estatísticas de execução de consultas no tempo de execução, da aprendizagem da seletividade dos filtros e do ajuste adaptativo do plano de execução para determinar a ordenação mais eficiente da aplicação de filtros e da pesquisa vetorial.
- Filtragem inline: específica do algoritmo ScaNN, a filtragem inline é uma estratégia de otimização que executa a pesquisa de vetores e a avaliação de filtros de metadados em conjunto. Tira partido dos índices secundários do PostgreSQL (como B-trees, GIN ou GiST) para criar uma lista restrita (mapa de bits) de linhas que satisfazem os critérios de filtro. A análise vetorial subsequente calcula apenas as distâncias dos vetores contidos nesse conjunto pré-filtrado, o que reduz drasticamente a sobrecarga computacional, especialmente quando os filtros são moderadamente seletivos.
Integração perfeita com o Vertex AI
O AlloyDB AI foi concebido para uma integração incorporada com o ecossistema do Vertex AI, o que permite a transformação e o enriquecimento de dados diretamente na base de dados através de SQL.
Geração de incorporações automatizada
A plataforma suporta a geração de incorporações automatizada através da extensão google_ml_integration. Esta capacidade permite que os dados operacionais (texto, imagens e vídeo) sejam convertidos em incorporações vetoriais através de modelos da Vertex AI, como o text-embedding-005.
- Registo de modelos: os modelos Vertex AI (de incorporação e generativos) são registados na base de dados através do procedimento
google_ml.create_model. - Colunas virtuais: as incorporações podem ser geradas e mantidas automaticamente numa coluna gerada através da função
embedding(), garantindo que os dados vetoriais permanecem sincronizados com os dados da coluna de origem:
ALTER TABLE my_table
ADD COLUMN embedding vector(768)
GENERATED ALWAYS AS (embedding('text-embedding-005', source_column)) STORED;
Consultas e enriquecimento com IA generativa
Com as incorporações vetoriais armazenadas, os programadores podem realizar pesquisas semânticas sofisticadas usando o operador de semelhança vetorial (<=>) em SQL padrão. Além disso, os resultados destas pesquisas podem ser transmitidos diretamente a modelos de IA generativa, como o gemini-2.0-flash-001, através de funções como google_ml.generate_content para o enriquecimento de consultas baseadas em RAG e a geração de resultados fáceis de usar.