DynamoDB On-Demand vs Provisioned
Find out whether on-demand or provisioned capacity is cheaper for your DynamoDB tables, based on how steady your traffic is.
Each one fills in the fields below for a typical workload of that kind. You can change any of them.
- On-demand throughput
- $492.75
- Provisioned throughput
- $799.44
- Storage, either way
- $43.75
Saving against the other mode: $306.69 a month.
| On-demand throughput329M writes and 1.3B reads a month | $492.75 |
| Provisioned throughput1,429 WCU and 1,429 RCU, sized for peak at 70.0% utilization, of which 1,404 WCU and 1,404 RCU are billed after the free tier | $799.44 |
| Provisioned, if auto scaling follows the trafficCapacity rises and falls with a slow daily curve instead of holding the peak all month. Not reachable for spikes that come and go in minutes. | $189.61 |
| StorageIdentical under both modes | $43.75 |
| Cheapest total | $536.50 |
Why, in one number
Provisioned capacity is roughly 3.5x cheaper per request than on-demand, but you pay for it every hour whether traffic arrives or not. That is why the decision turns on the shape of your traffic rather than its volume. A table doing a billion requests a month in two daily spikes belongs on on-demand; a table doing a tenth of that at a flat rate belongs on provisioned.
What this model assumes
Show
- Provisioned capacity is sized for peak, not average. That is right for traffic that spikes faster than auto scaling can react. When traffic rises and falls slowly through the day, auto scaling follows it, and the lower figure in the breakdown applies.
- Auto-scaling does not reach 100%. It reacts on a delay and needs headroom for the gap, so a well-tuned provisioned table lands near 70%. The default reflects that; raise it if your traffic is genuinely smooth.
- Capacity units round up per operation. A 1.2 KB write consumes two write units, not 1.2, so item size matters in steps, and shaving an item from 1.1 KB to 0.9 KB halves its write cost.
- Reserved capacity is not modeled. It exists for provisioned tables and discounts further, which makes provisioned look better than shown for genuinely steady workloads. It also cannot be applied to on-demand at all.
- Not included: global tables and replicated writes, streams, backups (on-demand $0.10/GB-month, point-in-time recovery $0.20), data transfer, or DAX.
Rates used and their sourcesShow
- DynamoDB capacity, requests and storage, source, read 13 Oct 2026
Prices verified 13 Oct 2026. Public list prices in USD for US East (N. Virginia), before any discount you have negotiated.
Want this done on your real bill?
Cloud Cost Audit: We go through your real AWS or Google Cloud bill and hand you a ranked list of what to cut first. From $1,500, fixed. Nothing paid upfront.
Questions
Is DynamoDB on-demand or provisioned cheaper?
It depends on the shape of your traffic, not its volume. Provisioned capacity is about 3.5x cheaper per request but bills every hour whether traffic arrives or not. If your average traffic uses less than about 29% of the capacity you provision, the wasted capacity exceeds the discount and on-demand wins at any scale. A table doing a billion requests a month in two daily spikes belongs on on-demand; a table doing a tenth of that at a flat rate belongs on provisioned.
How much does DynamoDB cost?
On-demand: $0.625 per million write request units and $0.125 per million read request units in US East (N. Virginia). Provisioned: $0.00065 per write-capacity-unit-hour and $0.00013 per read-capacity-unit-hour. Storage is $0.25 per GB-month after the first 25 GB, which is free permanently.
What is a DynamoDB capacity unit?
One write capacity unit covers one write of up to 1 KB per second. One read capacity unit covers one strongly consistent read of up to 4 KB per second, or two eventually consistent reads. Both round up per operation, so a 1.2 KB write consumes two write units, which is why shaving an item under 1 KB halves its write cost.
Does DynamoDB auto-scaling reach full utilization?
No. It reacts on a delay and needs headroom to cover the gap, so a well-tuned provisioned table typically lands near 70% utilization rather than 100%. Assuming perfect utilization is the most common way a provisioned estimate comes in too low, and this calculator exposes the assumption as an input.
Is the DynamoDB Infrequent Access table class worth it?
It cuts storage from $0.25 to $0.10 per GB-month and raises throughput rates by about a quarter, so it wins on tables that store a lot and are read rarely, archives, audit logs, event history. It loses on hot tables. You can switch table class twice per 30 days.
Related tools
ElastiCache Cost & Reserved Nodes
Every replica is billed as a full node, and reserved nodes take up to 55% off.
OpenAmazon RDS Cost & Rightsizing Calculator
See the Multi-AZ premium in compute and in storage, then price a cheaper setup.
OpenS3 Storage Class Calculator
Find the cheapest S3 class once retrieval fees and minimums are counted.
OpenMore tools for: Databases and caching
One table modeled. Most estates have hundreds.
Finitizer reads real consumed-capacity metrics per table, finds the ones on the wrong capacity mode, and catches the provisioned tables whose traffic shape changed after someone set them up two years ago.
See how Finitizer works