Trusted answers to developer questions

Definition: Denormalization

Get the Learn to Code Starter Pack

Break into tech with the logic & computer science skills you’d learn in a bootcamp or university — at a fraction of the cost. Educative's hand-on curriculum is perfect for new learners hoping to launch a career.

Denormalization is a strategy used on a previously-normalized database to increase performance. In computing, denormalization is the process of trying to improve the read performance of a database, at the expense of losing some write performance, by adding redundant copies of data or by grouping data.

What does this mean?

Contrary to normalization, denormalizing a database is the process of duplicating key columns over multiple tables to avoid costly joins.

It is much quicker for a query to execute if it has all the data available in one table. As a result, a denormalized database avoids having to join various tables together to get the required information from various sources, which can be computationally expensive.

While denormalization introduces a level of data redundancy, it can provide for much quicker SQL queries. This can lead to better user experience with quicker database queries that lead to faster feedback and, consequently, keep the user more engaged with the application.

While this makes for a quicker read performance, it comes at the expense of write performance. Key data points will need to be replicated over numerous tables for optimum read efficiencies. This adds a potential risk for data integrity. Therefore, a developer would need to ensure that they are maintaining consistency across all tables.

Further reading

If you enjoyed reading this post, consider reading some of my other definition posts:

Normalization

Propagate

Tautology

Also, feel free to check out my social media accounts:

Twitter: @sdrobertsCode
LinkedIn
GitHub

RELATED TAGS

computing
denormalizati
data
jargon
Did you find this helpful?