Amazon DynamoDB Global Tables 专业2017年〜
将 DynamoDB 表以主动-主动方式复制到多个区域的功能
它能做什么
Amazon DynamoDB Global Tables 是将 DynamoDB 表自动复制到多个 AWS 区域的功能。实现各区域可读写的主动-主动配置,为全球应用提供低延迟的数据访问。
使用场景
适用于全球部署的移动应用和游戏的数据同步、多区域灾难恢复、为地理分散的用户提供低延迟访问等场景。
日常类比
可以将其比作在世界各地设有分行的银行。在任何分行 (区域) 都可以查看和更新账户余额 (数据),变更会自动同步到所有分行。
什么是 Global Tables
DynamoDB Global Tables 是提供表的多区域复制的功能。只需指定要添加副本表的区域,数据即自动双向同步。各区域的副本可读写,数据通常在 1 秒内传播。
冲突解决与一致性
当多个区域同时更新同一项目时,Global Tables 使用「最后写入者获胜 (Last Writer Wins)」方式解决冲突。时间戳最新的更新成为最终值。在应用侧设计避免冲突 (如区域特定的数据分区) 也是有效的方法。 有关冲突解决和一致性的基础到应用,可参阅 书籍 (Amazon) 进行系统学习。
入门指南
在 DynamoDB 控制台选择现有表,从「全局表」选项卡通过「创建副本」添加区域。DynamoDB Streams 自动启用,复制开始。副本的添加和删除可在线执行,不会产生停机。
注意事项
- Write capacity unit charges apply per replica region. Data transfer charges for replication are also added
- Conflict resolution uses Last Writer Wins, so design considerations are needed for workloads with frequent concurrent updates to the same item