Preventing redundancy
Let's briefly recap what the characteristics of an OLTP workload are:
- A lot of small queries are being executed.
- A lot of writes to the database are performed.
In the case of an OLTP workload, making writes (updates and especially inserts) to the database as efficiently as possible is key.
The most important premise of normalizing data is to prevent redundancy in the database. Redundancy is storing the same piece of information twice or more. We want to store each value just once as much as possible. There are three reasons for doing so:
- Redundancy costs extra storage.
- Redundancy has a negative impact on performance.
- Redundancy has a negative impact on data quality.
Let me now elaborate on these reasons in more detail.
Available storage
The first argument may seem strange in the era of big data. This argument has its origins in the past, where storage was limited and really expensive. This has become far...