Amazon DynamoDB Global Tables
- 类型
- 专业
- 推出
- 2017年
将 DynamoDB 表以主动-主动方式复制到多个区域的功能
它能做什么
Amazon DynamoDB Global Tables 是将 DynamoDB 表自动复制到多个 AWS 区域的功能。实现各区域可读写的主动-主动配置,为全球应用提供低延迟的数据访问。
使用场景
适用于全球部署的移动应用和游戏的数据同步、多区域灾难恢复、为地理分散的用户提供低延迟访问等场景。
日常类比
可以将其比作在世界各地设有分行的银行。在任何分行 (区域) 都可以查看和更新账户余额 (数据),变更会自动同步到所有分行。
什么是 Global Tables
DynamoDB Global Tables 是提供表的多区域复制的功能。只需指定要添加副本表的区域,数据即自动双向同步。各区域的副本可读写,数据通常在 1 秒内传播。
冲突解决与一致性
当多个区域同时更新同一项目时,Global Tables 使用「最后写入者获胜 (Last Writer Wins)」方式解决冲突。时间戳最新的更新成为最终值。在应用侧设计避免冲突 (如区域特定的数据分区) 也是有效的方法。选择 2025 年 6 月正式推出的多区域强一致性后,可从任意区域读取刚写入的数据。截至 2026 年 9 月,多区域强一致性支持 15 个区域,表需采用 3 个区域的配置 (3 个副本,或 2 个副本加 1 个见证区域)。
入门指南
在 DynamoDB 控制台选择现有表,从「全局表」选项卡通过「创建副本」添加区域。DynamoDB Streams 自动启用,复制开始。副本的添加和删除可在线执行,不会产生停机。
注意事项
- 每个副本区域都会产生写入容量单位的费用,复制的数据传输费用也会另外计入
- 默认的冲突解决采用 Last Writer Wins 方式,因此对同一项目频繁并发更新的工作负载需要在设计上加以考虑 (需要强一致性时可考虑多区域强一致性)
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。