Calculate WCUs for a write workload including global secondary index amplification, transactions and on-demand comparison.
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.
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).
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.
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.
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.
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.