向量索引指標

選取文件版本:

這個頁面列出與您在 AlloyDB Omni 中生成的向量索引相關的指標。安裝 alloydb_scann 擴充功能後,您可以使用 pg_stat_ann_indexes 檢視畫面查看這些指標。

如要進一步瞭解如何查看指標,請參閱「查看向量索引指標」。

可用性指標

可用性指標可協助您瞭解索引使用率,例如索引設定和索引掃描次數。

指標名稱 資料類型 說明
relid OID 向量索引所在資料表的專屬 ID
indexrelid OID 向量索引的專屬 ID
schemaname NAME 擁有索引的結構定義名稱
relname NAME 包含索引的資料表名稱
indexrelname NAME 索引名稱
indextype NAME 索引類型。這個值一律會設為 alloydb_scann
indexconfig TEXT[] 建立索引時定義的設定,例如葉節點數量和量化器
indexsize TEXT 索引大小
indexscan BIGINT 在索引上啟動的索引掃描次數
partitioncount BIGINT 樹狀結構中的分區 (葉節點) 數量。

調整指標

調整指標可提供目前的索引最佳化洞察資料,讓您套用建議,加快查詢效能。

指標名稱 資料類型 說明
insertcount BIGINT 索引的插入作業數量。這項指標也包含建立索引前就存在的資料列數量。
updatecount BIGINT 索引的更新作業數量。這項指標不會考量任何 HOT 更新。
deletecount BIGINT 索引的刪除作業數。
distribution JSONB 索引所有分區的向量分布情形。

下列欄位會顯示分布情形:
  • maximum (INT8):所有分割區的向量數量上限。
  • minimum (INT8):所有分區的向量數量下限。
  • average (FLOAT):所有分區的平均向量數量。
  • outliers (INT8[]):所有分區中的主要離群值。這個值會顯示前 20 個離群值。

注意:由於 k-means 分群演算法的固有特性,即使是初始建立索引時,向量在分區中的分布情況也一定會出現某種程度的差異。

根據指標調整建議

突變
insertcount、updatecount 和 deletecount 指標會一起顯示索引向量的變化或突變。
建立索引時,會指定向量和分區數量。對向量索引執行插入、更新或刪除等作業時,只會影響向量所在的初始分區。因此,每個分區中的向量數量會隨時間波動,可能影響召回率和/或每秒查詢次數。
如果 ANN 搜尋查詢速度變慢或準確度降低 (例如 QPS 偏低或檢索率不佳),請考慮查看這些指標。如果變動次數相對於向量總數偏高,可能表示需要重新建立索引。
分布
「distribution」指標會顯示所有分區的向量分布情形。
建立索引時,系統會使用特定數量的向量和固定分區。分區程序和後續分配作業會根據這項考量進行。如果新增向量,這些向量會分配到現有分區,導致分布情形與建立索引時不同。由於最終分布不會同時考量所有向量,因此喚回度、QPS 或兩者都可能受到影響。
如果發現 ANN 搜尋查詢的成效逐漸下滑,例如回應時間變慢或結果準確度降低 (以 QPS 或喚回度衡量),請考慮檢查這項指標並重新建立索引。