Partition health

Predict hot partitions, key skew, low cardinality, sequential keys and GSI skew before they hurt, with a design-health score.

The Health tab analyses how your items spread across partition keys and predicts the problems that bite at scale — hot partitions, key skew, the 10 GB partition limit — entirely from your data, with no CloudWatch metrics or runtime traffic required.

Offline and proactive

DynamoDB’s classic failures are about distribution: too many items or bytes funneled onto one partition key. Most tools only surface this after it hurts, via CloudWatch under live load. Tablyne predicts it by design, before there’s traffic, by grouping your loaded items by partition key and measuring the spread. The score and findings are computed offline from the sample (or the full table after count all).

The health score

The view leads with a 0–100 score. Every finding subtracts points by severity (a warning costs less than a critical), so a clean design scores 100 and a badly skewed one drops fast. Beside it sits a one-line summary: distinct partition keys, total items, and total estimated bytes.

The findings

Tablyne checks five risk patterns and reports each with a severity, a plain-language explanation, and a suggested fix:

FindingWhat it detectsFix it suggests
Size limitA partition’s bytes approaching DynamoDB’s 10 GiB item-collection hard limit (warn ≥50%, critical ≥80%)Split the partition key
SkewOne partition holding far more items than the median — a “celebrity” key (warn ≥3×, critical ≥10×)Shard the key
Low cardinalityThe partition key barely spreads — too few distinct values or a huge average items-per-partitionAdd a dimension to the key
Sequential keyPartition ids that look like dates or running numbers, funneling writes onto the “latest” partitionShard / randomize the key
GSI skewAn overloaded GSI partition value dominating the index (warn ≥50%, critical ≥80% of index items)Distribute via a better GSI key

Findings are sorted worst-first. The GSI skew finding includes a distribute button that opens the GSI migration wizard pre-set to the offending key attribute.

Health  72

⚠ Skew         partition USER#42 holds 11× the median (1,540 items)
                ↳ Shard the key
🔥 GSI skew     GSI_status: STATUS#OPEN holds 86% of the index
                ↳ Distribute via a better GSI key   [distribute]

Partition heat map

The right panel ranks the busiest partitions (up to the top dozen) as a heat bar — item count and estimated bytes per partition — with the sample median noted at the bottom. It’s a quick visual of where your data piles up.

Honest caveats

Partition health is a prediction from a sample, not a guarantee:

  • Sample-bound by default. Findings reflect only the loaded rows until you run count all to analyse the whole table; see /docs/std-overview/. A skew or size problem that lives entirely in unloaded items won’t show until then.
  • Byte estimates are approximate. Per-item size is estimated from JSON length, not DynamoDB’s exact on-the-wire encoding — so the 10 GiB size-limit finding is a heads-up, not a precise measurement.
  • Thresholds are heuristics. The ratios and cutoffs above are conservative rules of thumb tuned to catch real problems early; some flagged designs may be intentional for your workload.
  • No live metrics. This is design-time analysis. It complements, not replaces, CloudWatch throttle and consumed-capacity monitoring under real traffic.