在使用DynamoDB的On-Demand Capacity Throughput默认配额时,原子计数器自增的最大吞吐量。

0

【以下的问题经过翻译处理】 我想知道,在DynamoDB中进行原子计数器自增的最大吞吐量是多少。

考虑一个只包含idcounter属性的表,以便整个项目大小小于1K。

我将使用以下UpdateExpression来增加计数器:

SET voteCounter = if_not_exists(voteCounter, :startValue) +:incValue

考虑到按需容量的默认吞吐量默认配额为40,000个写请求数,我期望在最好的情况下每秒获得40,000个增量。最好的情况是指我的DynamoDB上没有其他操作发生。

由于这是一个相当极端的用例,我可以想象,只有在更新分布在许多不同的项目上并且在我的用例中吞吐量显着降低的情况下,才可能达到每秒40,000个更新的最大吞吐量。因此,我很好奇是否每秒可以进行40,000个递增操作。

附言: 我知道有一些扩展分布式计数器的方法,但我只是好奇上述用例的实际数字。

profile picture
专家
已提问 8 个月前12 查看次数
1 回答
0

【以下的回答经过翻译处理】 请参阅https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html,尤其是“隔离经常访问的项目”部分。

如果您的应用程序持续高频地访问单个项目,自适应容量可能重新平衡您的数据,使一个分区仅包含该单个经常访问的项目。在这种情况下,DynamoDB可以向该单个项目的主键提供最高3,000 RCU或1,000 WCU的吞吐量。

如果KEY分布不均匀或散落在多个分区,实际吞吐量可能会有所下降。通过实践调整和优化策略,可以最大限度提高自增操作的吞吐量。

这些每项限制适用于按需和预配的计费模式。

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则