本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
全域資料表:多重作用中的多區域複寫
Amazon DynamoDB 全域資料表是全受管、多區域及多重作用中的資料庫功能,為全域規模應用程式提供易於使用的資料複寫,以及快速的本地化讀寫效能。
全域資料表會自動跨 AWS 區域 帳戶和選擇性跨 AWS 帳戶複寫 DynamoDB 資料表資料,而不需要您建置和維護自己的複寫解決方案。全域資料表非常適合需要透過多區域部署達到業務連續性和高可用性的應用程式。任何全域資料表複本都可以提供讀取和寫入。如果應用程式處理在區域內中斷,應用程式可以將流量轉移到不同區域,實現低或零復原點目標 (RPO) 的高度恢復能力。全域資料表可在可用 DynamoDB 的所有區域中使用。
一致性模式
您可以在建立全域資料表時設定其一致性模式。全域資料表支援兩種一致性模式:多區域最終一致性 (MREC) 和多區域強式一致性 (MRSC)。
如果您在建立全域資料表時未指定一致性模式,全域資料表會預設為多區域最終一致性 (MREC)。全域資料表不能包含一致性模式設定不同的複本。您無法在建立全域資料表後變更其一致性模式。
帳戶組態
DynamoDB 現在支援兩種全域資料表模型,每個模型都針對不同的架構模式而設計:
-
相同帳戶全域資料表 – 所有複本都會在單一 AWS 帳戶中建立和管理。
-
多帳戶全域資料表 – 在參與共用複寫群組時,複寫會部署到多個 AWS 帳戶。
相同帳戶和多帳戶模型都支援多區域寫入、非同步複寫、last-writer-wins衝突解析,以及相同的計費模型。不過,它們在帳戶、許可、加密和資料表控管的管理方式上有所不同。
針對 MRSC 設定的全域資料表僅支援相同帳戶組態。
您可以使用 AWS 管理主控台設定全域資料表。全域資料表使用現有的 DynamoDB API 來讀取和寫入資料至資料表,因此不需要變更應用程式。您只需為佈建或使用的資源付費,無需前期成本或承諾。
相同帳戶和多帳戶全域資料表的比較
| 屬性 | 相同帳戶全域資料表 | 多帳戶全域資料表 |
|---|---|---|
| 主要使用案例 | 單一 AWS 帳戶中應用程式的多區域彈性 | 多區域、多帳戶複寫,適用於不同團隊擁有的應用程式、不同的業務單位或跨帳戶的強大安全界限 |
| 帳戶模型 | 在一個 AWS 帳戶中建立和管理的所有複本 | 在同一部署中跨多個 AWS 帳戶建立的複本 |
| 資源擁有權 | 單一帳戶擁有資料表和所有複本 | 每個帳戶擁有其本機複本;複寫群組橫跨 帳戶 |
| 支援的版本 | 全域資料表 2019.11.21 版 (目前) 和 2017.11.29 版 (舊版) | 全域資料表版本 2019.11.21 (目前) |
| 控制平面操作 | 透過資料表擁有者帳戶建立、修改和刪除複本 | 分散式控制平面操作:帳戶加入或離開複寫群組 |
| 資料平面操作 | 每個區域的標準 DynamoDB 端點 | 每個帳戶/區域的資料平面存取;透過複寫群組路由 |
| 安全界限 | 單一 IAM 和 KMS 界限 | 不同的 IAM、KMS、帳單、CloudTrail 和每個帳戶的控管 |
| 最適合 | 具有資料表集中擁有權的組織 | 具有聯合團隊、控管界限或多帳戶設定的組織 |