本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
監控向量索引容量
若要監控向量索引操作的容量耗用,請在SearchVectors請求TOTAL中將 ReturnConsumedCapacity 參數設定為 INDEXES 或 ,或在寫入 API 請求INDEXES中設定為 。
向量索引操作以兩個單位計量,與基礎資料表使用的讀取和寫入容量單位不同:
-
向量搜尋 (VS) – 計量
SearchVectors操作的單位。VS 耗用報告為VectorSearchRequestBytes,並隨搜尋檢查和傳回的向量資料大小擴展。 -
向量寫入 (VWR) – 計量複寫至向量索引之寫入的單位。VWR 耗用報告為
VectorWriteRequestBytes,並隨複寫至索引的資料大小擴展。
下列範例顯示SearchVectors請求ConsumedCapacity傳回的 。
{ "ConsumedCapacity": { "VectorSearchRequestBytes": 41714.0 } }
對於寫入操作 (PutItem、UpdateItem、DeleteItem、BatchWriteItem、TransactWriteItems),回應包含 中的VectorIndexes映射ConsumedCapacity,以索引名稱為索引鍵。每個項目VectorWriteRequestBytes都會報告複寫每個向量索引的變更時所耗用的容量。
{ "ConsumedCapacity": { "TableName": "Products", "CapacityUnits": 5.0, "Table": { "CapacityUnits": 5.0 }, "VectorIndexes": { "ProductEmbeddingIndex": { "VectorWriteRequestBytes": 4125.0 } } } }
向量索引容量是以處理的位元組計量,與基底資料表讀取和寫入容量分開報告。使用這些欄位來了解向量索引成本的驅動因素:
-
搜尋成本 (
VectorSearchRequestBytes) 主要取決於搜尋必須檢查的向量大小,這會隨著索引中的維度和傳回的資料量而增加。將搜尋限制為單一分割區索引鍵值,可減少檢查的資料量。在結果中傳回向量屬性會進一步增加成本,因為回應包含完整的向量資料。搜尋成本不會與索引中的項目數量成比例增加。如果維度、TopK值和投影的數量保持不變,則在您新增項目時,搜尋檢查的資料會以邏輯方式增長。這是因為最接近的鄰搜尋會周遊索引的一小部分,而不是讀取每個向量。將索引中的項目數量加倍,會為每個搜尋檢查的資料增加少量的常數。 -
每次您寫入、更新或刪除變更向量索引屬性的項目時,都會產生寫入成本 (
VectorWriteRequestBytes),並根據複寫至索引的資料大小進行擴展。不會變更索引屬性的寫入不會產生向量寫入容量。
較高的維度內嵌會增加搜尋和寫入成本,因為每個向量都攜帶更多資料。如需目前的定價,請參閱 AWS 網站上的 Amazon DynamoDB 定價
DynamoDB 也會將向量索引容量發佈至 CloudWatch,做為 VectorSearchRequestBytes和 VectorWriteRequestBytes指標,以 TableName和 為維度VectorIndexName。使用這些指標來繪製向量索引用量的圖表和警示。如需指標定義,請參閱 VectorSearchRequestBytes和 VectorWriteRequestBytes。
每個請求計量下限
DynamoDB 會測量每個請求至少 1 KB 的向量索引容量,以及高於該最小值的每位元組帳單。這適用於這兩種請求類型。檢查小於 1 KB 向量資料的SearchVectors請求會以 1 KB 計量。將小於 1 KB 的寫入請求複寫到資料表的向量索引也會以 1 KB 計量。
下限適用於每個請求,而非每個索引。更新數個資料表向量索引中向量的寫入不會為每個向量索引產生單獨的 1 KB 最小值,即使VectorWriteRequestBytes每個索引ConsumedCapacity的報告也是如此。
因此,低維度向量不會按比例測量較低。具有少量維度的向量只保留幾個位元組的 32 位元浮點資料,並且仍然以 1 KB 的最小值計量。
高於下限時, 會VectorSearchRequestBytes反映搜尋在索引內檢查的向量資料,而不是您提供的查詢向量大小。因此, VectorSearchRequestBytes 大於僅查詢向量。
搜尋成本會以邏輯方式成長,如先前所述,但該關係不是估算帳單的公式。 VectorSearchRequestBytes也包含搜尋傳回的資料。該資料會隨著您投影的屬性TopK而擴展。指標也會以每次請求 1 KB 為下限。在具有TopK完整投影的高處,傳回的資料可能會超過已檢查的資料。
請勿從維度計數估算向量索引成本。使用您自己的工作負載傳回的 VectorSearchRequestBytes和 VectorWriteRequestBytes值,或對應的 CloudWatch 指標。在調整工作負載大小之前,先對代表性資料集進行驗證。