DynamoDB Write Capacity Calculator
Calculate WCUs for a write workload including global secondary index amplification, transactions and on-demand comparison.
Inputs
Total WCUs to Provision
3,600WCU
Base Table WCUs
1,200WCU
Index WCUs
2,400WCU
Write Units per Operation
2
Provisioned Monthly Cost
$1,708.20
On-demand Monthly Cost
$2,956.50
Step by step
Values used
Average write operations = 300 writes/s; Average item size = 1.50 KB; Write type = Standard write — one WCU per 1 KB; Global secondary indexes updated per write = 2 indexes; Peak to average ratio = 2 x; Provisioned write capacity price = 0.0007 $/WCU-hour; Billed hours per month = 730 hours; On-demand write price = 0.6250 $/million write units
DynamoDB Write Capacity
units per write = ceil(item KB) × (2 if transactional); total WCU = peak writes/s × units per write × (1 + number of indexes updated).
Total WCUs to Provision
= 3,600 WCU
Base Table WCUs
= 1,200 WCU
Index WCUs
= 2,400 WCU
Write Units per Operation
= 2
Provisioned Monthly Cost
= 1,708.20
On-demand Monthly Cost
= 2,956.50
How it works
Writes round up to whole 1 KB units, transactions double the charge, and — the part that surprises people — every global secondary index whose projected attributes change consumes a full set of write units of its own. Three GSIs therefore make a write cost four times the base table figure, which is why projecting only the attributes an index query actually needs is a direct cost control. The WCU and on-demand write prices are editable inputs seeded with realistic us-east-1 defaults, so confirm current DynamoDB pricing with AWS for your region. GSI write amplification is the single most common cause of a DynamoDB bill that is several times the estimate, and it is invisible unless you count the indexes explicitly.
Formula
DynamoDB Write Capacity
units per write = ceil(item KB) × (2 if transactional); total WCU = peak writes/s × units per write × (1 + number of indexes updated).
- 1 KB
- Write unit block size — every write rounds up to a whole kilobyte
- index amplification
- Each GSI touched by a write consumes its own write units
- peak to average
- Ratio of busiest second to the daily average
Frequently Asked Questions
How is DynamoDB Write Capacity calculated?
units per write = ceil(item KB) × (2 if transactional); total WCU = peak writes/s × units per write × (1 + number of indexes updated). Writes round up to whole 1 KB units, transactions double the charge, and — the part that surprises people — every global secondary index whose projected attributes change consumes a full set of write units of its own. Three GSIs therefore make a write cost four times the base table figure, which is why projecting only the attributes an index query actually needs is a direct cost control. The WCU and on-demand write prices are editable inputs seeded with realistic us-east-1 defaults, so confirm current DynamoDB pricing with AWS for your region.
Why does DynamoDB Write Capacity matter?
GSI write amplification is the single most common cause of a DynamoDB bill that is several times the estimate, and it is invisible unless you count the indexes explicitly.
What values do I need to enter?
This calculator takes 8 inputs: Average write operations, Average item size, Write type, Global secondary indexes updated per write, Peak to average ratio, Provisioned write capacity price, Billed hours per month, On-demand write price. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Does every write hit every index?
No — a GSI only consumes write units when the write changes its key or one of its projected attributes. Narrowing projections from ALL to KEYS_ONLY or a short INCLUDE list removes most of the amplification.