What is Leaderless Replication?

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.

5 thoughts on “What is Leaderless Replication?

Leave a comment