All cheat sheets
Databasescheat sheet

DynamoDB Standard-IA

DynamoDB Standard-IA cuts storage cost ~60% ($0.25 → $0.10/GB-mo) for tables full of cold data you must keep but rarely query, in exchange for ~25% pricier reads/writes. Same engine, same latency, reversible online in minutes.

Last reviewed: July 14, 2026

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

  1. Sort tables by storage size, then find the ones with high storage and consistently low CloudWatch throughput — those are begging to move.
  2. Start with your largest cold table — the biggest savings come from the biggest tables; one big move usually beats reorganizing several small ones.
  3. Run the break-even: storage GB × 60% saved vs request count × 25% extra. For genuinely cold tables the answer is almost always "switch."
  4. Flip the table class online — no downtime, no migration script, no SDK change; switch back anytime if access ramps up.
  5. 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).

Run this audit with your AI assistant

Paste this into Claude, ChatGPT, or any agent that can run the AWS CLI with read-only credentials. It audits your account for exactly the waste this sheet describes — and changes nothing.

You are auditing an AWS account's DynamoDB tables for Standard-IA
table-class savings. Use the AWS CLI with READ-ONLY credentials. Do not
create, modify, or delete anything — report findings and recommended
(unapplied) fixes only.

1. Inventory: aws dynamodb list-tables + describe-table — capture
   TableClass (STANDARD vs STANDARD_INFREQUENT_ACCESS), TableSizeBytes,
   and ItemCount per table. Compute average item size (bytes / count).
2. Access pattern: pull CloudWatch ConsumedRead/WriteCapacityUnits over
   30-90 days. Candidates = HIGH storage + LOW throughput (roughly <1-2
   accesses per item per month).
3. Savings math per candidate: storage saving = size_GB × ($0.25-$0.10);
   request premium = monthly requests × ~25% of request cost. Net = win
   only if storage saving > request premium.
4. Minimum-item-size gotcha: Standard-IA bills a 128 KB minimum per item.
   Flag tables of tiny items (<~10 KB avg) where the 128 KB floor erodes
   the savings.

Report a table: table | size GB | avg item KB | est. monthly requests |
storage saving $/mo | request premium $/mo | net $/mo | recommend
switch? (biggest cold tables first). Note the switch is online and
reversible. Change nothing.
Works with any assistant that can run shell commands.

Want the guided version?

The DynamoDB Standard-IA walkthrough covers this topic interactively — it asks about your setup, branches to what’s relevant, and quizzes you on the tricky parts. Free and anonymous.

Start the walkthrough