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