首页 > 解决方案 > 我们是否需要为 DynamoDB 全局表的总应用程序写入提供两倍数量的 rWCU?

问题描述

根据https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables_reqs_bestpractices.html#globaltables_reqs_bestpractices.tables中提到的最佳实践,建议我们为每个副本表。

每个副本表上的预置复制写入容量单位 (rWCU) 应设置为跨所有区域的应用程序写入所需的 rWCU 总数乘以 2。这适应了本地区域中发生的应用程序写入和来自其他区域的复制应用程序写入。例如,假设您希望每秒对俄亥俄州的副本表进行 5 次写入,对弗吉尼亚北部的副本表每秒进行 5 次写入。在这种情况下,您应该为每个副本表提供 20 个 WCU(5 + 5 = 10;10 x 2 = 20)。

每个区域 10 个 WCU 不应该足够吗?(5 个用于本地写入(N.Virgina),5 个来自复制区域(Ohio)?)

我在这里想念什么?

如果有三个区域 us-east-1、us-west-2 和 eu-west-1,每个区域分别需要 5、10 和 15 次写入,那么我希望每个表的配置为 5+每张桌子 10+15 = 30rWCU,总共只需支付 90rWCU。

标签: amazon-web-servicesamazon-dynamodb

解决方案


对我来说似乎是一个错误,AFAIK rWCU 的配置量应该是每秒的 WCU,在这个例子中 5 * number_of _replicas^2 => 5*2^2 =20 rWCU TOTAL。如 DynamoDB 全局表价格示例中所述。

AWS 全局表定价

如果您在 3 个区域中有相同的全局表,则总数将为 (WCU*R^2) 5*3^2=45 rWCU Total。

我对这个模型的问题是我们已经为原始表上的 WCU 付费,为什么我们必须为同一张表上的 rWCU 付费?我们应该只支付 (WCU*2R) => 5*2*3 = 30rWCU。但是我们能做些什么……(MongoDB Atlas?)


推荐阅读