Denormalization
Denormalization adds controlled redundancy to speed reads, accepting more complex writes and weaker integrity guarantees.
Denormalization is the practice of intentionally adding redundant or precomputed data to a database schema. It reverses some of the decomposition that normalization produces, trading storage and write complexity for faster reads.
How It Works
Common denormalization techniques include:
- Duplicating columns across tables to avoid joins (e.g., storing a customer name on each order).
- Precomputing aggregates such as totals or counts.
- Storing derived or summary tables that answer expensive queries directly.
- Embedding related data in a single document, common in NoSQL document stores.
- Materialized views that cache the result of a join or aggregation.
Because the same fact now lives in multiple places, the application or database must keep copies in sync on every write, often via triggers, application logic, or batch jobs.
Why It Matters
Denormalization is a key performance optimization for read-heavy and analytical workloads. By avoiding joins and recomputation, it can make dashboards, reports, and high-traffic queries dramatically faster. It is the natural data model for many NoSQL databases and data warehouses.
The cost is real: redundancy risks inconsistency, write paths become more complex and slower, and storage grows. Denormalization should be applied surgically, where read performance demands it, rather than as a default.
Related Terms
Denormalization is the deliberate counterpart to normalization and is often realized through materialized views in analytical (OLAP) systems.