ScaNN 向量查詢效能總覽

AlloyDB for PostgreSQL 的可擴充最鄰近項目 (ScaNN) 索引可加快向量相似度查詢,同時透過樹狀量化索引減少記憶體用量。在樹狀量化技術中,索引會與量化 (或雜湊) 函式一起學習搜尋樹狀結構。執行查詢時,搜尋樹會修剪搜尋空間,而量化則會壓縮索引大小,加快查詢向量與資料庫向量之間的相似度評分。

如要透過最鄰近查詢,同時達到高每秒查詢次數 (QPS) 和高喚回度,您必須以最適合資料和查詢的方式,對 ScaNN 索引的樹狀結構進行分區。

目前的高維度嵌入模型有一個共同特徵,就是即使維度大幅降低,仍能保留大部分資訊,例如只要 20% 的嵌入維度,就能保留 90% 的資訊。為加快這類資料集的處理速度,AlloyDB ScaNN 會使用主成分分析 (請參閱下方的 scann.enable_pca),自動對索引向量執行降維,進一步減少向量搜尋的 CPU 和記憶體用量。由於維度縮減仍會導致索引中的檢索率略微降低,AlloyDB ScaNN 會透過初始排序步驟進行補償,從索引中選取較多經過 PCA 處理的候選向量,然後依原始向量重新排序 (請參閱 scann.pre_reordering_num_neighbors)。

後續步驟