DynamoDB 是多区域的吗?

可以是。一张标准的 DynamoDB 表只活在一个区域里,但全局表让它变成多区域、多活的,自动在你选定的区域之间复制,于是你在其中任何一个区域都能读能写。全局表提供最高 99.999% 的可用性,一致性可以是最终一致性,也可以选择开启多区域强一致性。

标准表 vs 全局表

默认情况下,一张表只存在于单个区域。打开全局表就能在其他区域添加副本表;此后 DynamoDB 会自动让它们保持同步。

多活复制

每一个副本都同时接受读和写。写到任何一个区域都会传播到其他区域——没有主区域,某个区域不可用时也没有故障转移这一步。

一致性的选择

  • 多区域最终一致性(MREC)——默认:写入异步复制,通常在一秒之内。冲突按最后写入者胜出来解决。
  • 多区域强一致性(MRSC)——在创建时选定:每次写入在返回之前都会同步复制到至少一个其他区域,于是在任何副本上的强一致性读取都会返回最新的项目。MRSC 表恰好部署在三个区域(三个副本,或者两个副本加一个见证者),并且不支持 TTL、LSI 或事务 API。

第三个区域要花多少钱

每个副本都持有这张表的一份完整副本,所以存储要在每个区域按该区域自己的费率计费。这些费率并不相等,所以这个倍数永远不会是整整的 3 倍。

以 100 GB 为例,按我们同步来的 AWS 表定价:

区域存储,100 GB / 每月
us-east-1(北弗吉尼亚)$25.00
eu-west-1(爱尔兰)$28.30
sa-east-1(圣保罗)$37.50
三区域全局表$90.80

这是单区域账单的 3.63 倍换来三个副本,而推动这个数字的是区域组合。把圣保罗换成东京(ap-northeast-1,$28.50),同样三份副本要 $81.80。

写入自带另一个倍数。AWS 按 "replicated write request units (rWRU) for on-demand capacity and replicated write capacity units (rWCUs) for provisioned capacity" 来计费,所以一次逻辑写入会在每一个副本区域各收一次费。

这件事你没法在本地彩排

DynamoDB Local 实现了数据平面的大部分,但没有实现复制。添加副本会被当作一次空操作接受下来,而不是作为不支持被拒绝,而这才是更危险的失败方式:

UpdateTable with ReplicaUpdates:
ValidationException: Nothing to update

CreateGlobalTable:
UnknownOperationException: An unknown operation was requested.

于是一个本地集成测试可以通过,而你关于复制的那些假设从来没被检验过。冲突解决、复制延迟以及 MRSC 的区域规则,只有面对真实区域时才会显形。

为什么要用它

为分布在全球的用户提供低延迟的就近访问,外加韧性和业务连续性。

深入了解

阅读 DynamoDB 全局表指南。下载 DynoTable 可以跨你的各个副本区域工作。

参考资料

最后核实于 2026-07-13,依据上方链接的 AWS 官方文档;复制写入的计费措辞已于 2026-07-28 重新核对。

存储数字于 2026-07-28 依据我们同步的 AWS 定价表算出。模拟器的响应于同日通过 @aws-sdk/client-dynamodb 3.1095.0 针对 DynamoDB Local 3.3.0 复现,为原样照录。

无需控制台即可使用 DynamoDB

一款快速的 DynamoDB 桌面客户端,可运行 DynamoDB 无法执行的真正 SQL——JOINs、GROUP BY、聚合——并支持可视化编辑和运行在你自己的 Bedrock 密钥上的 AI agent。

30 天免费试用,无需信用卡 — 之后为无时间限制的免费版。