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년 전824회 조회
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
전문가
검토됨 한 달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠