DENORMALIZED
Canonical entity (store) Synced screen copy Stale screen copy

Normalized vs Denormalized State: Cache Drift Simulator (2D)

A top-down 2D companion to the cache-drift simulator: a single tracked entity — a "Post" with a like count — sits in a canonical store at the center, while two to eight screens sit around it. In denormalized mode each screen caches its own copy, and dispatching an update only refreshes the screen that actually re-read the data, leaving the others drifting out of sync with a growing staleness age. Switch to normalized mode and every screen instead references the one canonical record, so an update reaches all of them once the sync propagation delay elapses and the consistency readout returns to 100%. An adjustable auto-dispatch rate drives updates continuously instead of one click at a time, and an "auto-resync on read" toggle shows the usual workaround — periodic refetching — and why it narrows the staleness window without ever closing it.