本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
隨需資料表的 DynamoDB 最大輸送量
對於隨需資料表,您可以選擇在個別資料表和相關聯的全域次要索引 () 上指定每秒的最大讀取或寫入 (或兩者) 輸送量GSIs。指定最大隨需輸送量有助於保持資料表層級的用量和成本限制。依預設,不會套用最大輸送量設定,且您的隨需輸送量速率會受到所有資料表或資料表GSIs內AWS 服務配額的限制。如有需要,您可以請求增加服務配額。
當您設定隨需資料表的最大輸送量時,超過指定數量上限的輸送量請求會受到限制。您可以根據您的應用程式需求隨時修改資料表層級輸送量設定。
以下是一些常見的使用案例,這些案例可以受益於使用隨需資料表的最大輸送量:
-
輸送量成本最佳化 – 使用隨需資料表的最大輸送量可提供額外的成本可預測性和可管理性。此外,它提供了更大的靈活性,可以使用隨需模式來支援流量模式和預算不同的工作負載。
-
防止過度使用 – 透過設定最大輸送量,您可以防止讀取或寫入耗用意外激增,這可能是由於未最佳化程式碼或欺詐程序,根據隨需資料表。此資料表層級設定可以保護組織避免在特定時間範圍內消耗過多的資源。
-
保護下游服務 – 客戶應用程式可以包含無伺服器和非伺服器技術。架構的無伺服器物件可以快速擴展以符合需求。但是,具有固定容量的下游元件可能會不堪負荷。實作隨需資料表的最大輸送量設定可防止大量事件傳播到具有非預期副作用的多個下游元件。
您可以為新的和現有的單一區域資料表和全域資料表 和 設定隨需模式的最大輸送量GSIs。您也可以在資料表還原和從 Amazon S3 工作流程匯入資料期間設定最大輸送量。
您可以使用 DynamoDB 主控台
注意
隨需資料表的最大輸送量以最佳努力為基礎,應視為目標,而非保證請求上限。由於容量爆量 ,您的工作負載可能會暫時超過指定的輸送量上限。在某些情況下,DynamoDB 會使用爆量容量來容納超出資料表最大輸送量設定的讀取或寫入。使用爆量容量,未預期的讀取或寫入請求在經過調節之後可能會成功。
使用隨需模式的最大輸送量時的考量
當您在隨需模式下使用資料表的最大輸送量時,會套用下列考量:
-
您可以獨立設定任何隨需資料表的讀取和寫入輸送量上限,或該資料表中的個別全域次要索引,根據特定需求微調方法。
-
您可以使用 Amazon CloudWatch 來監控和了解 DynamoDB 資料表層級用量指標,並判斷適當的隨需模式最大輸送量設定。如需詳細資訊,請參閱DynamoDB 指標和維度。
-
當您在單一全域資料表複本上指定最大讀取或寫入 (或兩者) 輸送量設定時,相同的最大輸送量設定會自動套用至所有複本資料表。全域資料表中的複本資料表和次要索引必須具有相同的寫入輸送量設定,以確保資料正確複寫。如需詳細資訊,請參閱管理 DynamoDB 全域資料表的最佳實務和要求。
-
您可以指定的最小最大讀取或寫入輸送量為每秒一個請求單位。
-
您指定的最大輸送量必須低於任何隨需資料表或該資料表內個別全域次要索引可用的預設輸送量配額。
請求限流和 CloudWatch 指標
如果您的應用程式超過您在隨需資料表上設定的讀取或寫入輸送量上限,DynamoDB 會開始限制這些請求。當 DynamoDB 調節讀取或寫入時,會將 ThrottlingException
傳回至呼叫者。如有需要,您可以採取適當動作。例如,您可以增加或停用最大資料表輸送量設定,或等待一小段間隔再重試請求。
為了簡化監控為資料表或全域次要索引設定的最大輸送量, CloudWatch 提供下列指標: OnDemandMaxReadRequestUnits和 OnDemandMaxWriteRequestUnits。