amazon-web-services - 我们是否需要为 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。
解决方案
对我来说似乎是一个错误,AFAIK rWCU 的配置量应该是每秒的 WCU,在这个例子中 5 * number_of _replicas^2 => 5*2^2 =20 rWCU TOTAL。如 DynamoDB 全局表价格示例中所述。
如果您在 3 个区域中有相同的全局表,则总数将为 (WCU*R^2) 5*3^2=45 rWCU Total。
我对这个模型的问题是我们已经为原始表上的 WCU 付费,为什么我们必须为同一张表上的 rWCU 付费?我们应该只支付 (WCU*2R) => 5*2*3 = 30rWCU。但是我们能做些什么……(MongoDB Atlas?)
推荐阅读
- file - 'File' 类型的表达式'destination' 不能作为函数调用
- node.js - 如何使用ffmpeg创建水印下划线文本
- php - 如何取消发布 php artisan laravel-module
- python - 输出控制台中的不同格式与 Python 中保存的文件
- angular - Angular 7:无线电类型的复选框,使用 ngModel 还是更改功能?
- python - 如何删除人口金字塔中的负 X 轴标签?
- ios - 来自ios的到期通知
- javascript - 我如何理解代码中对 Promise 的这种自定义使用
- arrays - 在导入查询中将两个单元格连接在一起
- c++ - Visual Studio 2017 警告说异常被基类捕获,但不是