Ringkasan Penelusuran Vektor AlloyDB AI

AlloyDB AI mengintegrasikan pemrosesan vektor dan penelusuran kesamaan langsung ke AlloyDB untuk PostgreSQL, sehingga Anda dapat mengkueri data relasional terstruktur dan data tidak terstruktur berdasarkan makna semantik. Dengan menggabungkan kemampuan SQL standar dengan pengindeksan Approximate Nearest Neighbor (ANN), AlloyDB AI mendukung alur kerja penelusuran semantik dan retrieval-augmented generation (RAG) tanpa mengharuskan Anda men-deploy dan mengelola database vektor terpisah.

Arsitektur dan Performa Inti

AlloyDB menggunakan ekstensi pgvector PostgreSQL untuk fungsi vektor. AlloyDB mendukung indeks HNSW populer, serta indeks Scalable Nearest Neighbors (ScaNN), algoritma penelusuran vektor canggih yang berasal dari riset Google Penelusuran selama bertahun-tahun. Integrasi mendalam ke dalam lingkungan PostgreSQL ini memungkinkan operasi berkecepatan tinggi yang kompatibel dengan pgvector dan kueri semantik tingkat lanjut.

Performa Indeks ScaNN

Indeks ScaNN menawarkan keunggulan kecepatan yang signifikan dibandingkan indeks HNSW (Hierarchical Navigable Small Worlds) PostgreSQL standar, yang menyediakan operasi vektor cepat yang diperlukan untuk workload AI yang berat:

Operasi Peningkatan Performa (vs. Indeks HNSW PostgreSQL standar) Fitur
Pembuatan Indeks Hingga 10x lebih cepat Build indeks paralel
Kueri Penelusuran Vektor Hingga 4x lebih cepat Pemeliharaan otomatis indeks
Kueri Penelusuran Vektor yang Difilter Hingga 10x lebih cepat Observabilitas tingkat perusahaan

Pengoptimalan Kueri dan Pemfilteran Adaptif

Indeks ScaNN terintegrasi secara mendalam dengan perencana kueri PostgreSQL untuk memastikan performa optimal untuk kueri hybrid yang melibatkan kesamaan vektor dan filter metadata terstruktur standar.

  • Pemfilteran Adaptif: Mekanisme ini memastikan performa optimal saat filter, gabungan, dan indeks vektor digunakan secara bersamaan. Fungsi ini bekerja dengan mengamati statistik eksekusi kueri saat runtime, mempelajari selektivitas filter, dan menyesuaikan rencana eksekusi secara adaptif untuk menentukan urutan penerapan filter dan penelusuran vektor yang paling efisien.
  • Pemfilteran Inline: Khusus untuk algoritma ScaNN, pemfilteran inline adalah strategi pengoptimalan yang menjalankan penelusuran vektor dan evaluasi filter metadata secara bersamaan. Pemfilteran ini memanfaatkan indeks PostgreSQL sekunder (seperti B-tree, GIN, atau GiST) untuk membuat daftar singkat (bitmap) baris yang memenuhi kriteria filter. Pemindaian vektor berikutnya hanya menghitung jarak untuk vektor yang terdapat dalam kumpulan yang telah difilter sebelumnya, sehingga mengurangi overhead komputasi secara drastis, terutama saat filter cukup selektif.

Integrasi yang Lancar dengan Gemini Enterprise Agent Platform

AlloyDB AI dirancang untuk integrasi bawaan dengan ekosistem Agent Platform, sehingga memungkinkan transformasi dan pengayaan data langsung di dalam database menggunakan SQL.

Pembuatan Embedding Otomatis

Platform ini mendukung pembuatan embedding otomatis menggunakan ekstensi google_ml_integration. Kemampuan ini memungkinkan data operasional (teks, gambar, dan video) dikonversi menjadi embedding vektor menggunakan model Agent Platform, seperti text-embedding-005.

  • Pendaftaran Model: Model Agent Platform (embedding dan generatif) didaftarkan dalam database menggunakan prosedur google_ml.create_model.
  • Kolom Virtual: Embedding dapat dibuat dan dipertahankan secara otomatis dalam kolom yang dibuat menggunakan fungsi embedding(), sehingga memastikan data vektor tetap disinkronkan dengan data kolom sumber:
ALTER TABLE my_table
ADD COLUMN embedding vector(768)
GENERATED ALWAYS AS (embedding('text-embedding-005', source_column)) STORED;

Pengayaan AI Generatif dan Kueri

Dengan embedding vektor yang disimpan, developer dapat melakukan penelusuran semantik canggih menggunakan operator kesamaan vektor (<=>) dalam SQL standar. Selain itu, hasil penelusuran ini dapat diteruskan langsung ke model AI generatif, seperti gemini-2.0-flash-001, menggunakan fungsi seperti google_ml.generate_content untuk pengayaan kueri berbasis RAG dan pembuatan output yang mudah digunakan.