View a markdown version of this page

监控向量索引容量 - Amazon DynamoDB

监控向量索引容量

要监控向量索引操作的容量消耗,请在 SearchVectors 请求中将 ReturnConsumedCapacity 参数设置为 INDEXESTOTAL,在写入 API 请求中则设置为 INDEXES

向量索引操作分为两个单位进行计量,独立于基表使用的读取和写入容量单位:

  • 向量搜索(VS):该单位计量 SearchVectors 操作。VS 使用量报告为 VectorSearchRequestBytes,随搜索检查和返回的向量数据大小而扩展。

  • 向量写入(VWR):该单位计量复制到向量索引中的写入。VWR 使用量报告为 VectorWriteRequestBytes,随复制到索引的数据大小而扩展。

以下示例显示了 SearchVectors 请求返回的 ConsumedCapacity

{ "ConsumedCapacity": { "VectorSearchRequestBytes": 41714.0 } }

对于写入操作(PutItemUpdateItemDeleteItemBatchWriteItemTransactWriteItems),响应的 ConsumedCapacity 中包含一个 VectorIndexes 映射,以索引名称作为键。对于在将更改复制到每个向量索引时使用的容量,每个条目都会报告 VectorWriteRequestBytes

{ "ConsumedCapacity": { "TableName": "Products", "CapacityUnits": 5.0, "Table": { "CapacityUnits": 5.0 }, "VectorIndexes": { "ProductEmbeddingIndex": { "VectorWriteRequestBytes": 4125.0 } } } }

向量索引容量以处理的字节数为单位进行计量,与基表的读取和写入容量分开报告。使用以下字段来了解向量索引成本的来源:

  • 搜索成本 (VectorSearchRequestBytes) 主要根据搜索所需检查的向量大小而扩展,而这个大小会随着索引中维度的数量和返回的数据量增长而增长。将搜索限制为单个分区键值可以减少所检查的数据量。在结果中返回向量属性会进一步增加成本,因为响应包含了完整的向量数据。

  • 写入成本 (VectorWriteRequestBytes) 在每次写入、更新或删除的项目导致向量索引属性发生更改时,都会产生该成本,该成本随复制到索引的数据大小而扩展。如果写入没有更改已索引的属性,就不会产生向量写入容量。

更高维度的嵌入会同时增加搜索和写入成本,因为每个向量都承载更多的数据。有关当前定价,请参阅 AWS 网站上的 Amazon DynamoDB 定价

DynamoDB 还会将向量索引容量发布给 CloudWatch 作为 VectorSearchRequestBytesVectorWriteRequestBytes 指标,以 TableNameVectorIndexName 为维度。使用这些指标可跟踪向量索引随时间变化的使用情况和设置警报。有关指标定义,请参阅 VectorSearchRequestBytesVectorWriteRequestBytes