DynamoDb-吞吐量限制如何工作?

时间:2019-07-03 18:41:52

标签: amazon-web-services amazon-dynamodb boto3

假设我有:

  • 具有 100个RCU
  • 的表格
  • 此表有200个项目
  • 每个项目都有4kb

据我了解,RCU是每秒计算的,您每4kb会花费1个完整RCU(读取具有高度一致性)。

1)因此,如果我在一秒钟内花费超过100个RCU,我会遇到节流错误,对吗?

2)如何预测某个请求将比我预配置的吞吐量更多?在任何时候我都可以通过提出昂贵的请求来破坏整个数据库。

3)假设我要对整个表格进行扫描(获取所有项目),因此需要 200 RCUS ,但这取决于如何快速的dynamodb对吗?如果速度太快会给我一个错误,但是如果需要2秒钟或更长时间,那应该没问题,我该如何解决?如何考虑DynamoDB的速度来知道我需要多少RCU? DynamoDB的“速度”是什么?

4)节流和超出吞吐量限制之间有什么区别?

1 个答案:

答案 0 :(得分:2)

此时您的大多数问题都是理论性的,因为您现在(截至2018年11月)可以选择简单地告诉dynamodbv使用“按需”模式,这样您就不再需要计算或担心RCU了。只需启用此选项,就不用管它了。过去,由于工作量非常不均匀,我遇到了类似的问题-没有活动的时间段,然后是需要进行全表扫描以生成报告的时间段-并努力使所有工作看起来都无法正常工作。

我打开了“按需”模式,在我的案例中,成本降低了约70%,并且不再出现节流错误。您的费用情况可能有所不同,但是我一定会检查这个新选项的。

https://aws.amazon.com/blogs/aws/amazon-dynamodb-on-demand-no-capacity-planning-and-pay-per-request-pricing/