A retail inventory table in DynamoDB is provisioned, and the request rate swings without a daily pattern. Throttling shows up on both reads and writes at unpredictable hours. Which capacity mode fits that pattern?
Select an answer to reveal the explanation.
Short Explanation
You sized the pipe for a Tuesday, and the warehouse has surprise trucks all week. Unpredictable request rates are what on-demand capacity is for: DynamoDB handles the swings without you picking a fixed read and write number. A higher fixed number is still a guess, and a second Region does not feed the table that is throttling here.
Full Explanation
Provisioned capacity reserves a fixed amount of read and write throughput. When the application's rate has no pattern you can pre-scale for, that reservation is either too small, and DynamoDB throttles, or far too large for the quiet hours. On-demand capacity mode charges per request and scales with the traffic, which matches a swing that arrives at unpredictable hours. Raising only the write number leaves reads provisioned where they already throttle, and a fixed write number still misses the next unplanned peak. A global table replicates items to another Region for locality and durability. It does not replace capacity mode on the table that is throttling, and the replica has its own capacity. Leaving the provisioned maximum at today's number keeps the same ceiling that is already too low at the peaks. Caveat: on-demand can cost more than a well-predicted provisioned table, so keep it while the pattern is unknown and revisit if a steady rate appears. Operational check: after the switch, confirm the throttle metrics drop across a peak hour and that requests succeed without a provisioned capacity alarm.