Quickie on multi leader and single leader replication
Typically a single or multi leader replication approach is adopted, this is based on the concept:
- Client sends write requests to one node the leader
- The database system takes care of copying data it writes to other replicas
- A leader determines the order the write should be processed
- The followers apply the writes in the same order
Although.. some data storage systems can take another approach…
The leaderless replication set up
As the name entails this means abandoning the concept of a leader. So this means:
- Allowing any replica to accept writes from clients
- Some of the earliest replicated systems were leaderless
- The idea was forgotten during the domination of RDBMS…
Don’t lose hope, it has once again became an attractive architecture for databases, for instance:
- After Amazon used it for its in house Dynamo system adoption has grown
- Riak, Voldemort, Cassandra are open source data stores with leaderless replication models, inspired by Dynamo
- This kind of database is called Dynamo style
In some leaderless replication styles the client sends it writes several replicas:
- While with others, the co-ordinator node does this on behalf of the client…
- However unlike a leader database that co-ordinator does not enforce a particular ordering of writes
As we shall learn in the next blog post this difference in design has profound consequences for the way the database is used.
📚 Further Reading & Related Topics
If you’re exploring leaderless replication and distributed data-intensive systems, these related articles will provide deeper insights:
• Distributed Data-Intensive Systems: Logical Log Replication – Learn how logical logs help maintain consistency and reliability in distributed environments without relying on a single leader.
• Resolving Write Conflicts in Distributed Data-Intensive Systems – Understand the challenges of conflict resolution in decentralized architectures and how leaderless replication handles consistency.









Leave a comment