Maximum throughput for incrementing an atomic counter in DynamoDB with On-Demand Capacity Throughput default quotas

0

I would like to know, what the maximum throughput in DynamoDB for incrementing an atomic counter would be.

Consider a table with just an id and a counter attribute, so that the overall item size is less than 1K.

I would use something like this UpdateExpression for incrementing the counter:

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

Taking into account the default Throughput Default Quotas for On-Demand Capacity of 40.000 write request units, i would expect to get 40.000 increments per second in the best case. Best case would mean, no other operations would happen on my DynamoDB.

As this is a rather extreme use case i could imagine, that the maximum throughput of 40.000 updates per second can only be reached, if updates are distributed on lots of different items and in my use case throughput would be significantly lower. Therefore i am curious, whether 40.000 increments per second is possible.

P.S.: I am aware that there are approaches for Scaling Distributed Counters but i am just curious for the raw numbers, which are realistic for the use case as descibed above.

AWS
質問済み 4年前825ビュー
1回答
0
承認された回答

See https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html particularly the 'Isolate Frequently Accessed Items' section.

"If your application drives consistently high traffic to a single item, adaptive capacity might rebalance your data such that a partition contains only that single, frequently accessed item. In this case, DynamoDB can deliver throughput up to the partition maximum of 3,000 RCUs or 1,000 WCUs to that single item’s primary key."

These per-item limits apply to both OnDemand and Provisioned billing modes.

AWS
回答済み 4年前
profile picture
エキスパート
レビュー済み 1ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ