本页面列出了与您在 AlloyDB Omni 中生成的向量索引相关的指标。您可以使用安装 alloydb_scann
扩展程序时可用的 pg_stat_ann_indexes
视图查看这些指标。
如需详细了解如何查看指标,请参阅查看向量索引指标。
易用性指标
易用性指标包括一些指标,这些指标可帮助您通过指标(例如索引配置和索引扫描次数)了解索引利用率的状态。
指标名称 | 数据类型 | 说明 |
---|---|---|
relid |
OID |
包含向量索引的表的唯一标识符 |
indexrelid |
OID |
向量索引的唯一标识符 |
schemaname |
NAME |
拥有索引的架构的名称 |
relname |
NAME |
包含索引的表的名称 |
indexrelname |
NAME |
索引的名称 |
indextype |
NAME |
索引的类型。此值始终设置为 alloydb_scann 。 |
indexconfig |
TEXT[] |
在创建索引时为其定义的配置,例如叶数量和量化器 |
indexsize |
TEXT |
索引大小 |
indexscan |
BIGINT |
对索引启动的索引扫描的次数 |
调优指标
调优指标可让您深入了解当前索引优化,从而应用建议以提高查询性能。
指标名称 | 数据类型 | 说明 |
---|---|---|
insertcount |
BIGINT |
对索引执行的插入操作的次数。此指标还包括在创建索引之前存在的行数。 |
updatecount |
BIGINT |
对索引执行的更新操作的次数。此指标不考虑任何热更新。 |
deletecount |
BIGINT |
对索引执行的删除操作的次数。 |
distribution |
JSONB |
索引的所有分区中的向量分布。 以下字段展示了分布情况:
注意:由于 K-means 聚类算法固有的特性,即使在最初创建索引时,向量在各个分区之间的分布也始终会存在一定程度的差异。 |
基于指标的调优建议
- Mutation
insertcount
、updatecount
和deletecount
指标一起展示了索引向量中的更改或变更。- 系统会使用特定数量的向量和分区来创建索引。对向量索引执行插入、更新或删除等操作时,它仅会影响向量所在的初始分区集。因此,每个分区中的向量数量会随时间推移而波动,这可能会影响召回率、QPS 或者同时影响两者。
- 如果您在一段时间内遇到 ANN 搜索查询速度较慢或准确性问题(例如 QPS 较低或召回率较差),请考虑查看这些指标。相对于向量总数,变更次数较多可能表示需要重新编制索引。
- 分布
-
distribution
指标展示所有分区中的向量分布。 - 当您创建索引时,系统会使用特定数量的向量和固定分区来创建索引。分区过程和后续分布过程会根据此考虑因素进行。如果添加了其他向量,则系统会在现有分区之间对其进行分区,导致分布与创建索引时的分布不同。由于最终分布不会同时考虑所有向量,因此召回率、QPS 或两者都可能会受到影响。
- 如果您发现 ANN 搜索查询的性能逐渐下降,例如响应时间变慢或结果准确性降低(按 QPS 或召回率衡量),请考虑检查此指标并重新编制索引。