On-Demand vs Provisioned: Where the DynamoDB Cost Crossover Happens
On-Demand bills per request โ by default here, $1.25 per million write request units and $0.25 per million read request units โ while Provisioned capacity bills per hour of allocated throughput regardless of usage: $0.00065/WCU-hour and $0.00013/RCU-hour. This calculator splits your traffic into a steady baseline (baselineWCU/baselineRCU held for the non-spike hours) and a spike window (baseline ร spikeMultiplier, held for spikeHours per month), then prices both models against that identical traffic shape so the comparison isn't apples to oranges.
Why Short, Intense Spikes Favor On-Demand
Provisioned capacity is billed for every hour it's allocated, including the hundreds of idle hours where you don't need 10x capacity. A workload with a brief, sharp spike โ say 10 hours a month at a 10x multiplier โ pays for that peak capacity across the whole provisioned window unless autoscaling reacts instantly, which real DynamoDB autoscaling does not; it lags a sudden spike by minutes while CloudWatch alarms trigger. This model deliberately assumes ideal, instantaneous autoscaling to give Provisioned its best-case number โ real-world Provisioned costs (or throttling) will typically be worse than what's shown.
Limits This Calculator Doesn't Model
- Per-partition throughput caps: a single partition tops out at 3,000 RCU / 1,000 WCU regardless of table-level provisioned capacity, so a hot partition key can throttle even when your aggregate numbers here look comfortable.
- On-Demand's default ceiling: new tables cap at 40,000 read/write request units per second by default (raisable via AWS Support), which can surprise a workload that scales past its initial estimate.
- Reserved capacity: committing to reserved Provisioned capacity for a stable, predictable baseline can undercut both figures shown here โ this tool only compares standard On-Demand against standard Provisioned rates.