選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

管理 DynamoDB 全域資料表的最佳實務和要求

焦點模式
管理 DynamoDB 全域資料表的最佳實務和要求 - Amazon DynamoDB

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

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

使用 Amazon DynamoDB 全域資料表,您可以跨 AWS 區域複寫資料表資料。全域資料表中的複本列表和次要索引必須具有相同的寫入容量設定,才能確保資料能正確複寫。

為了將來清楚起見,最好不要將 Region 放在任何有朝一日可能變成全域資料表的資料表的名稱中。

警告

您 AWS 帳戶中每個全域資料表的資料表名稱必須是唯一的。

全域資料表版本

若要判斷您正在使用的全域資料表版本,請參閱 判斷您正在使用的 DynamoDB 全域資料表版本

管理容量的要求

全域資料表必須按以下兩種方式之一設定輸送容量:

  1. 隨需容量模式,以複寫寫入請求單位 (rWRUs) 測量

  2. 具有自動擴展的佈建容量模式,以複寫寫入容量單位 (rWCUs) 測量

使用具有自動擴展功能的佈建容量模式或隨需容量模式,可確保全域資料表擁有足夠的容量,以便對全域資料表的所有區域執行複寫寫入。

注意

在任何區域中從一種資料表容量模式切換到其他容量模式,會切換所有複本的模式。

部署全域資料表

在 中 AWS CloudFormation,每個全域資料表由單一區域中的單一堆疊控制。無論複本數量有多少。部署範本時, CloudFormation 會在單一堆疊操作中建立/更新所有複本。因此,您不應該在多個區域中部署相同的 AWS::DynamoDB::GlobalTable 資源。否則會因不受支援而導致錯誤。

如果您在多個區域中部署應用程式範本,則可以使用條件僅在單一區域中建立資源。您也可以選擇在與應用程式分開的堆疊中定義 AWS::DynamoDB::GlobalTable 資源,並確保它僅部署到單一區域。如需詳細資訊,請參閱 中的全域資料表 CloudFormation

DynamoDB 資料表由 AWS::DynamoDB::Table 參照,而全域資料表則為AWS::DynamoDB::GlobalTable。就 CloudFormation 相關而言,這基本上會讓他們有兩個不同的資源。因此,一種方法是透過使用 GlobalTable 建構模組建立可能是全域的所有資料表。然後,您可以將它們保留為獨立資料表來啟動,並在稍後視需要將它們新增至區域。

如果您有一般資料表,而且想要在使用 時將其轉換 CloudFormation,建議的方法為:

  1. 設定要保留的刪除原則。

  2. 從堆疊中移除資料表。

  3. 在控制台中將資料表轉換為全域資料表。

  4. 將全域資料表作為新資源導入堆疊。

注意

目前不支援跨帳戶複寫。

使用全域資料表來協助處理潛在的區域中斷

擁有或能在替代區域中快速建立執行堆疊的獨立副本,每個區域都會存取其本機 DynamoDB 端點。

使用 Route53 或 AWS Global Accelerator 路由至最近的運作狀態區域。或者,讓用戶端知道其可能使用的多個端點。

在每個區域中使用運作狀態檢查,可靠地判斷堆疊是否有任何問題,包括 DynamoDB 是否降級。例如,不要只偵測 DynamoDB 端點是否啟動。實際發出呼叫,確保完全成功的資料庫流量。

如果運作狀態檢查失敗,流量可以路由到其他區域 (透過使用 Route53 更新DNS項目、使用不同的 Global Accelerator 路由,或由用戶端選擇不同的端點)。全域資料表具有良好 RPO(復原點目標),因為資料持續同步,且良好 RTO(復原時間目標),因為兩個區域都會為讀取和寫入流量保持資料表就緒狀態。

有關運作狀態檢查的詳細資訊,請參閱運作狀態檢查

注意

DynamoDB 是其他服務經常在其上建立控制平面作業的核心服務,因此您不太可能會遇到 DynamoDB 在某個區域中降級服務,而其他服務未受到限制的情況。

備份全域資料表

備份全域資料表時,備份一個區域中的資料表應該已足夠,不需要備份所有區域中的所有資料表。如果目的是能夠復原錯誤刪除或修改的資料,則PITR在一個區域中應該就足夠了。同樣地,為了歷史目的 (例如法規要求) 而保留快照時,在一個區域中進行備份也應該足夠。備份資料可以透過 AWS Backup複製到多個區域。

複本和計算寫入單位

為了進行規劃,您應該獲取區域將執行的寫入次數,並將其新增到其他區域的寫入次數中。這很重要,因為在一個區域中執行的每個寫入也必須在每個複本區域中執行。如果您沒有足夠的容量來處理所有寫入,就會發生容量例外狀況。此外,區域間複寫的等待時間也會增加。

例如,假設您預期在俄亥俄州對複本資料表進行每秒 5 次寫入,在維吉尼亞北部對複本資料表進行每秒 10 次寫入,在愛爾蘭對複本資料表進行每秒 5 次寫入。在這種情況下,您應該預期 rWRUs 在每個區域中使用 20 個 rWCUs 或 :俄亥俄、維吉尼亞北部和愛爾蘭。換句話說,您應該預期在所有三個區域中使用 60 rWCUs 總數。

如需有關具有自動擴展功能的佈建容量和 DynamoDB 的詳細資訊,請參閱 使用 DynamoDB Auto Scaling 功能自動管理輸送容量

注意

如果資料表在具有自動擴展功能的佈建容量模式下執行,則允許佈建的寫入容量在每個區域的這些自動擴展設定鐘中浮動。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。