全域資料表的輸送容量規劃 - AWS 規定指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

全域資料表的輸送容量規劃

將流量從一個區域移轉到另一個區域需要仔細考慮與容量有關的 DynamoDB 資料表設定。

以下是關於寫入容量的注意事項:

  • 全域資料表必須處於隨需模式,或啟用自動擴展的佈建。

  • 如果使用自動擴展進行佈建,則會跨區域複寫寫入設定 (最小、最大和目標使用率)。雖然自動擴展的設定是同步的,但實際佈建的寫入容量可能會在區域之間獨立浮動。

  • 您可能會看到不同的佈建寫入容量的原因之一是存留時間 (TTL) 功能。當您在 DynamoDB 中啟用 TTL 時,您可以指定屬性名稱,其值表示項目的到期時間,以 Unix 紀元時間格式表示。之後,DynamoDB 可刪除項目,而不會產生寫入成本。有了全域資料表,您可以在任何區域設定 TTL,該設定便會自動複寫到另一個區域關聯的全域資料表。當某個項目符合通過 TTL 規則刪除的條件時,該工作可以在任何區域完成。執行刪除作業時不會耗用來源資料表上的寫入單位,但複本表格會取得該刪除作業的複寫寫入作業,並產生複寫的寫入單位成本。

  • 如果您使用自動擴展,請確定佈建的寫入容量上限設定足以處理所有寫入操作以及所有潛在的 TTL 刪除操作。自動擴展會根據每個區域的寫入耗用進行調整。隨需資料表沒有最大佈建的寫入容量設定,但是資料表層級最大寫入輸送量限制會指定隨需資料表允許的最大持續寫入容量。預設限制為 40,000,但可以調整。我們建議您設定充足,以處理隨需資料表可能需要的所有寫入操作 (包括 TTL 寫入操作)。當您設定全域資料表時,所有參與區域的這個值必須相同。

以下是關於讀取容量的注意事項:

  • 允許區域之間的讀取容量管理設定不同,因為需假設不同的區域可能具有獨立的讀取模式。當第一次將全域複本新增至資料表時,會傳播來源區域的容量。建立之後,您可以調整讀取容量設定,而這個設定不會傳輸到另一端。

  • 使用 DynamoDB 自動擴展時,請確保佈建的最大讀取容量設定充足,以處理所有區域的所有讀取操作。在標準操作期間,讀取容量可能會分散到區域,但在容錯移轉期間,資料表應該能夠自動適應增加的讀取工作負載。隨需資料表沒有最大佈建的讀取容量設定,但是資料表層級最大讀取輸送量限制會指定隨需資料表允許的最大持續讀取容量。預設限制為 40,000,但可以調整。如果所有讀取操作都要路由到此單一區域,我們建議您將它設定充足,以處理資料表可能需要的所有讀取操作。

  • 如果一個區域中的資料表通常不會收到讀取流量,但在容錯移轉後可能必須吸收大量的讀取流量,您可以提高資料表的佈建讀取容量,等待資料表完成更新,然後再縮減佈建資料表。您可以將資料表保留為佈建模式,也可以將其切換為隨需模式。這會預熱資料表,以接受更高層級的讀取流量。

Route 53 ARC 具有準備檢查,可用於確認 DynamoDB 區域具有類似的表格設定和帳戶配額,無論您是否使用 Route 53 路由傳送請求。這些整備檢查也可協助您調整帳戶層級配額,使其符合。