Tensions in Practice: Self-contained records in tension with one authoritative update¶
Two current orders naming the same owner
Orders O1 and O2 both belong to owner 7, whose current display name is Ada. A normalized representation stores the name once and follows owner 7 when reading either order. A denormalized representation also stores the name in both order rows, making each read self-contained. Changing the current name to Bea now requires a named update path to both copies.
Read an order locally
Include the current owner name in each order record.
Update a fact once
Avoid durable copies that must be kept current.
Why these aims pull against each other
Removing the read-time join introduces more write targets; the same fact has not stopped depending on its authoritative owner record.
Choose an arrangement to see what changes and what remains difficult.
Arrows express the stated dependencies or transformations, not measured effects. All example quantities are invented.
What this choice protects
What it costs
When it fits
Compare the arrangements
Resolve the owner on read
Store owner 7’s current name once; each order carries owner ID 7.
- What it protects
- A name change has one authoritative field to update.
- What it costs
- Each order-name read needs a lookup or join.
- When it fits
- Fits when that read cost is acceptable and a coherent read of the authoritative record is available.
Illustration note: The orders refer to a current name, not an immutable historical name captured at purchase.
Store a current copy in each order
Keep the owner record authoritative and maintain current-name fields in O1 and O2 through the declared update procedure.
- What it protects
- Reading either order can return the embedded name without a join.
- What it costs
- Every name change must also update both durable copies; partial updates need prevention or repair.
- When it fits
- Fits a read-heavy workload with a refresh/transaction discipline meeting the application’s consistency contract.
Illustration note: The drawing assumes successful coordinated updates; it is not a protocol proving atomicity.
What this illustration does—and does not—establish
The source supplies the tension. The invented setting, alternatives and any numbers illustrate a limited comparison; each arrangement retains its stated costs and conditions.
- The example concerns current display names; historical transaction facts may require a different schema.
- No speedup is measured, and the small diagram does not imply joins are inherently slow.
- These durable copies are part of the representation, not merely automatically evictable cache entries or old versions.
Source entries
Denormalization
This source passage supplies the contextual tension. The concrete arrangements and schematic examples are editorial illustrations, not measured findings.
Read-Side Win versus Write-Side Burden (the core trade)
The whole move buys faster reads by accepting a synchronization cost on every write.
The source operation
Denormalization is the deliberate, controlled re-introduction of redundancy into a representation that could be kept canonical — single source of truth, no duplicated facts — in exchange for faster or simpler access.