Designing Data Intensive applications — Replication
Introduction
Welcome to my fifth article in the series, Designing Data Intensive Applications. This article is highly inspired by one of the best Data Engineering books available out there: Designing Data Intensive Applications by Martin Kleppmann. In this chapter, we’ll be discussing the topic of data replication.
Note: I have received no compensation for writing this piece. Please consider supporting my and others’ writing by becoming a Medium member with this link.
The meeting room booking analogy
To understand why is replication important, let’s take an example of a meeting room management application. You are trying to book a meeting room for a very important event and you go to your website and you tried to book the room and you got a confirmation message that you got through. Let’s say you show up to that room for that same meeting, and then someone shows up and says they also got the same room. You wouldn’t want that to happen. Your website, your database systems and your applications should be aware that there is a conflict and then it should not allow for two people to book the same room.
There are many aspects involved here, but the main one is data replication.