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.
[…] you need a refresher on leaderless replication please read my previous blog post on: What is Leaderless replication? Or read Martin Kleppman book on ‘Designing Data-Intensive […]
LikeLiked by 1 person
[…] Leaderless replication is also suitable for multi-data centre operations, due its ability to tolerate conflicts, such as: […]
LikeLike
[…] The question is, how does the algorithm change when there are multiple replicas but no leader? (leaderless replication) […]
LikeLike
[…] Leaderless replication […]
LikeLike
[…] Leaderless replication […]
LikeLike