向量索引指標

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