我们的桌子上写的很突然,预计每周一次。我们启用了自动缩放功能,其预配置容量为5个WCU,目标利用率为70%
。这足以满足我们的非高峰(非突发)流量。但是,在突发写入期间,WCU到达1.5-2k
附近,这导致大量限制写入,最终也导致写入失败。
1)自动缩放是否适合这种用例?
2)如果是,我们的初始配置容量应该是什么?
答案 0 :(得分:0)
否,自动缩放不适合您的需求。进行扩展需要几分钟,并且每次都需要增加固定百分比的当前容量。每天向上或向下缩放的次数也很有限,因此几分钟之内您就无法从5扩展到2,000。您甚至可能在几个小时之内就不会收到。
我建议尝试按需模式,或者在实际需要之前将容量手动设置为2,000(它并不能立即扩展)。
我强烈建议您阅读ENTIRE发电机文档,以获取有关主键,GSI和数据体系结构的最佳实践。视表的大小(大于10 Gb的表)而定,这2,000个单位可能会分布在各个分区上,并且您可能仍会受到限制的请求。
答案 1 :(得分:0)
此答案将告诉您为什么自动缩放对您不起作用: https://stackoverflow.com/a/53005089/4985580
此答案将告诉您如何配置SDK,以在更长的时间段内重试操作(从而避免由于出现高峰请求而导致的操作失败)。 What should be done when the provisioned throughput is exceeded?
您最终应该将表格移至on-demand。
对于使用按需模式的表,DynamoDB可立即容纳 客户的工作负载随时间增加或减少到以前的水平 观察到的流量水平。如果流量达到新的高峰, DynamoDB可以迅速适应以适应工作量。