In all the replication methodologies, we have seen a common issue which all of the replication methods fail to solve completely and that is handling…
Replication: Maintaining a Quorum
In Introduction to Leaderless Replication we saw that Quorum plays a huge part. We need some way to ensure that storage operations are persisted correctly…
Replication: Introducing leaderless replication
Up until now in a single leader and multi-leader replication our assumption was that client will send an update request to leader which in turn…
Replication: Conflict resolution in multi-leader replication
We ended our introduction to multi-leader replication system by stating that one of the main challenges with a multi-leader replication is conflict resolution. When a…
Replication: Can we have more than one leader?
Answer to above question is a resounding YES! Up until now we have covered leader-follower based replication where all the writes go through the leader…
Replication: Issues with replication lag
In the last post about comparison between synchronous & asynchronous replication, we saw how synchronous replication can end up blocking our client when trying to…
Replication: Synchronous vs Asynchronous replication
Replication solves another problem in addition to reliability. It allows the system to scale along with the increase in request load. In a typical leader-follower…
Replication: Handling node failure
Failure is the norm in distributed systems. It’s a question of when and not if. These failures can be due to various reasons. Node failure…
Replication: Challenges in onboarding a new follower
In case of a leader-follower system for replication, a typical flow looks like as following: Leader accepts all update operations from clients Leader replicates any…
An introduction to replication
As long as we are dealing with a system where our database lives on a server which never fails and the data that database stores…