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