Cloud Horizon Get the free audit

AWS · Free tool

DynamoDB cost calculator

Provisioned and on-demand priced side by side on the same workload. Plug in reads, writes, GSI count, and storage. See the utilization tipping point where switching modes pays off.

Cheaper option for this workload

$0

Pick a mode below

Provisioned

$0

RCU/WCU at sustained utilization

On-demand

$0

Pay-per-request

Cost breakdown

Read capacity:$0
Write capacity:$0
GSI multiplier:$0
Storage:$0
PITR:$0
Streams:$0

Tipping point

At your peak rates, on-demand is cheaper than provisioned below 14 percent sustained utilization. You modeled 60 percent.

If your DynamoDB bill looks high, check these first

  • On-demand tables with predictable, sustained traffic. Switch to provisioned with autoscaling.
  • GSIs nobody queries anymore. Each one bills full write traffic and storage even when idle.
  • Strongly-consistent reads where eventual would do. Half the RCU cost for the same throughput.
  • PITR enabled on session, cache, or work-queue tables. The recovery is meaningless for ephemeral data.
  • Cold history tables on Standard storage. Standard-IA cuts storage by 60 percent, raises request rates by 25 percent.
  • Items larger than 1 KB on write-heavy tables. Each KB above 1 costs another full WCU.

The math nobody publishes clearly

On-demand DynamoDB is $0.125 per million read request units and $0.625 per million write request units. Provisioned is $0.00013 per RCU-hour and $0.00065 per WCU-hour. The arithmetic across 730 hours says on-demand is roughly 7x the per-request cost of provisioned at full utilization. The tipping point lands at about 14 to 18 percent sustained utilization depending on read consistency. Below that, on-demand wins. Above, switch.

The escape hatch from the difficult side of provisioned is autoscaling, which targets a configurable utilization (60 to 75 percent typically) and adjusts capacity every minute. With autoscaling, the difference between modes shrinks to a 1.5x multiplier, which is when on-demand starts to make sense for spiky workloads where provisioned cannot keep up. The full pattern is in the on-demand vs provisioned tipping point.

Run this on your real account

Free 14-day audit, read-only IAM role, one-page CFO summary.

We pull every DynamoDB table, flag mode mismatches against actual utilization, list orphan GSIs, and price out PITR cleanup candidates. The audit is free, the report is yours.

Frequently asked

When should I use on-demand vs provisioned capacity?

On-demand is roughly 7x more expensive per request than fully-utilized provisioned capacity. Provisioned wins when sustained utilization is above 14 to 18 percent. On-demand wins when traffic is spiky, unpredictable, or below that threshold. The break-even is published per region and is the single most useful number to know about DynamoDB pricing.

Why are GSIs so expensive?

Each Global Secondary Index has its own RCU, WCU, and storage. Every write to the base table is replicated to every GSI, so a table with three GSIs writes four times. The per-GSI cost is identical to a separate table. Audit your indexes: most accounts have at least one GSI that is no longer queried but still bills full write traffic.

Is PITR worth the cost?

Point-in-time recovery is $0.20 per GB-month on top of storage. For tables holding production state it is essential, the math is dwarfed by the cost of losing data. For ephemeral tables (sessions, caches, temporary work queues) it is dead weight. The audit is one boto3 call to list every table with PITR enabled and check whether the table actually holds durable state.

Should I use Standard-IA storage class?

Standard-IA cuts storage cost by 60 percent and raises read and write rates by about 25 percent. The break-even is roughly 50 reads and 50 writes per GB-month. Tables holding cold history (audit logs, archive records, compliance evidence) save money on Standard-IA. Hot tables lose. Run the math on per-table read/write counts before switching.

Related free tools

Keep going. No email.