TL;DR: DynamoDB Reserved Capacity is bulk-buying reads and writes: commit to a baseline of Provisioned throughput for 1 or 3 years and get up to 77% off provisioned rates. It's a real, non-refundable commitment applied regionally (any provisioned table in the region benefits automatically). The golden rule is to reserve your traffic floor, never your peak — the discount covers steady usage while spikes bill at standard rates.
The numbers
- Standard provisioned WCU ~$0.00065/hr vs 3-yr all-upfront ~$0.00015/hr — a 76% discount.
- 1,000 WCUs 24/7 in us-east-1: standard ~$5,700/yr → 1-yr reserved ~$2,500/yr → 3-yr reserved ~$1,300/yr (saves ~$4,400/yr, ~$13,200 over the term — per table's worth of throughput).
- Provisioned mode only — On-Demand (PAY_PER_REQUEST) tables don't qualify.
- Payment options: All Upfront (biggest discount), Partial Upfront, No Upfront (smallest, still beats standard).
- Field example: a fitness-app backend with 18 months of rock-solid 2,000 WCU / 5,000 RCU throughput went from ~$42,000/yr to $10,500/yr on a 3-yr reservation — $94,500 saved over the term.
Do this
- Find your floor, not your average — the sustained minimum throughput you always use (CloudWatch consumed capacity over 30–90 days).
- Reserve the baseline, let Auto Scaling absorb spikes — the canonical cost-optimized pattern: reserved rates on steady usage, standard rates on surges.
- Pick a term to match confidence — 3-yr for max savings on stable workloads; 1-yr or partial-baseline coverage as a hedge when the roadmap is uncertain.
- Choose payment by cash flow — All Upfront if budget allows (biggest discount), otherwise Partial/No Upfront.
- Set a calendar reminder ~1 month before each term ends — reservations auto-renew unless cancelled, and teams have kept paying for apps shut down months ago.
Gotchas
- Under-reserving is the safe mistake; over-reserving is the expensive one — reserve 500 WCUs but use 300, you still pay for 500. Excess above the reservation just bills at standard rates.
- Regional, not per-table — you can't pick which table benefits; AWS applies the discount across all provisioned tables in the region.
- Non-refundable, non-transferable, locked-in — can't sell it, move it between accounts, or get money back; if AWS drops prices mid-term you're still committed. Start with 1-yr or partial coverage if nervous.
Skip this if
- The workload is experimental, seasonal, or might pivot within the term — stay on standard provisioned or DynamoDB On-Demand until it settles.
- Your tables run in On-Demand mode and you value its zero-config simplicity — you'd have to switch to Provisioned first; weigh that against the discount.
- Your bill is dominated by cold storage, not throughput — reach for DynamoDB Standard-IA; the two stack cleanly (reserve hot throughput, tier cold storage).