Ringkasan performa kueri vektor ScaNN

Pilih versi dokumentasi:

Halaman ini memberikan ringkasan konseptual tentang peningkatan performa kueri vektor menggunakan indeks Scalable Nearest Neighbor (ScaNN) AlloyDB AI. Untuk mengetahui informasi selengkapnya, lihat Membuat indeks dan vektor kueri.

Indeks ScaNN menggunakan pengindeksan berbasis kuantisasi pohon, yang indeksnya mempelajari pohon penelusuran bersama dengan fungsi kuantisasi (atau hashing). Saat Anda menjalankan kueri, pohon penelusuran digunakan untuk memangkas ruang penelusuran, sedangkan kuantisasi digunakan untuk mengompresi ukuran indeks. Pemangkasan ini mempercepat pemberian skor kesamaan—dengan kata lain, jarak—antara vektor kueri dan vektor database.

Untuk mencapai kecepatan kueri per detik (QPS) yang tinggi dan perolehan yang tinggi dengan kueri nearest neighbor, Anda harus mempartisi hierarki indeks ScaNN dengan cara yang paling sesuai untuk data dan kueri Anda.

Model sematan berdimensi tinggi dapat mempertahankan sebagian besar informasi pada dimensi yang jauh lebih rendah. Misalnya, Anda dapat mempertahankan 90% informasi hanya dengan 20% dimensi sematan. Untuk membantu mempercepat set data tersebut, indeks ScaNN AI AlloyDB secara otomatis melakukan reduksi dimensi menggunakan Analisis Komponen Utama (PCA) pada vektor yang diindeks, yang selanjutnya mengurangi penggunaan CPU dan memori untuk penelusuran vektor. Untuk informasi selengkapnya, lihat scann.enable_pca.

Karena reduksi dimensi menyebabkan sedikit kehilangan perolehan dalam indeks, indeks ScaNN AI AlloyDB mengompensasi kehilangan perolehan dengan terlebih dahulu melakukan langkah perankingan dengan sejumlah besar kandidat vektor PCA dari indeks. Kemudian, ScaNN mengurutkan ulang kandidat vektor PCA berdasarkan vektor aslinya. Untuk informasi selengkapnya, lihat scann.pre_reordering_num_neighbors.

Langkah berikutnya