TL;DR: Some DynamoDB tables get hammered; others just sit there holding compliance logs or dormant accounts — and on the Standard table class both cost the same per GB. Standard-IA (Dec 2021) drops storage ~60% ($0.25 → $0.10/GB-mo) in exchange for ~25% pricier reads/writes. When storage dominates the bill (the definition of cold data), you win big. It's the same engine, same single-digit-ms latency, same APIs — and the switch is online, reversible, and takes minutes.
The numbers
| Standard | Standard-IA | |
|---|---|---|
| Storage | $0.25/GB-mo | $0.10/GB-mo (~60% less) |
| Reads/writes | baseline | ~25% more |
- Sweet spot: tables accessed less than ~once or twice per month on average (compliance logs, archived activity, years-old orders, backup metadata).
- Minimum billable item size is 128 KB — tables of tiny 1 KB items get billed as if each were 128 KB, so the savings shrink; run the math on small-item tables first.
- Field examples: 12 TB of fintech compliance logs went $3,000 → $1,200/mo (~$21,600/yr) for one setting change; dormant trial-account data (inactive 90+ days) dropped storage ~55%.
Do this
- Sort tables by storage size, then find the ones with high storage and consistently low CloudWatch throughput — those are begging to move.
- Start with your largest cold table — the biggest savings come from the biggest tables; one big move usually beats reorganizing several small ones.
- Run the break-even: storage GB × 60% saved vs request count × 25% extra. For genuinely cold tables the answer is almost always "switch."
- Flip the table class online — no downtime, no migration script, no SDK change; switch back anytime if access ramps up.
- Tier as data ages: fresh (0–30 days) Standard → aging (30–365) Standard-IA → ancient (365+) archive to S3 or delete via TTL. Standard-IA handles data you rarely touch; TTL handles data you don't need at all.
Gotchas
- The 128 KB minimum-item-size floor is the one real trap — small-item tables can see savings evaporate; hold up on tables averaging under ~10 KB/item.
- It's not a downgrade — Standard-IA isn't slower or "DynamoDB Lite"; the only thing worse is per-request price, which is irrelevant if you're barely making requests.
- Reversible, so experiment — try a candidate table, revert if throughput climbs; there's no commitment.
Skip this if
- Most of your data is actively used (live leaderboards, shopping carts, session state) — the per-request premium would dwarf any storage savings; keep it Standard.
- The table is full of tiny items and small — the 128 KB minimum negates the win.
- Your cost pain is on the throughput side of hot tables — pre-commit that with DynamoDB Reserved Capacity; the two stack (tier cold storage, reserve hot throughput).