When we listen to the term denormalization, the first thought that might cross our mind is that it means reversing normalization which is not true. Denormalization is a database optimization process where redundant data is added to one or more tables. This was originally designed to avoid costly joins in the relational database.
Denormalization pursues to improve read performance over some write performance where the redundant copies of data are written in multiple tables. This saves us the expensive joins. When the data becomes distributed with sharding or federation, managing joins across the network becomes very complex. Acquiring the denormalization process can prevent such complex joins.
Advantages of Denormalization
- Data retrieving is fast
- Writing queries is easier
- The number of tables is reduced
- Convenient to manage
Disadvantages of Denormalization
- Inserts and updates are expensive
- Database design is more complex
- Data redundancy is increased
- Data inconsistency is more probable
pragyaasapkota / System-Design-Concepts
Though the concepts of system design might be tricky, let's see them individually to their core concepts and have a better understanding.
System Design
Systems design is the process of defining elements of a system like modules, architecture, components and their interfaces and data for a system based on the specified requirements.
This is a index for the concepts of system.
If you wish to open these in a new tab, Press CTRL+click
S.N. | Table of Content |
---|---|
1. | Caching |
2. | Network Protocols |
3. | Storage: The Underrated Topic |
4. | Latency and Throughput |
5. | System Availability |
6. | Leader Election |
7. | Proxies |
8. | Load Balancing |
9. | Endpoint Protection |
10. | HTTPS: Is it better than HTTP? |
11. | Polling and Streaming |
12. | Long Polling |
13. | Hashing |
14. | CAP Theorem |
15. | PACELC Theorem |
16. | Messaging and Pub-Sub |
17. | Database |
18. | Logging, Monitoring, and Alerting |
19. | Distributed System |
20. | Scaling |
21. | Event Driven Architecture (EDA) |
22. | CQRS |
23. | Message Queue |
24. | Architectural Patterns |
25. | Enterprise Service Bus (ESB) |
26. | SLA, SLO, and SLI |
27. | Heartbeat |
I hope this article was helpful to you.
Please don’t forget to follow me!!!
Any kind of feedback or comment is welcome!!!
Thank you for your time and support!!!!
Keep Reading!! Keep Learning!!!
Top comments (2)
It was helpful, thank you very much. I wish content like this were more abundant and popular.
Thanks.