Provided you look at two nodes of a Database at the same occasion in time, you are likely to see different data on the two nodes, because write requests arrive on different nodes at different times. These inconsistencies occur no matter what replication method the database uses,

  • Unmarried leader replication
  • Multi-leader replication
  • Leaderless replication

Most replicated databases provide at least eventual-consistency, which means provided you stop wrtiting to the database and wait for some unspecified length of time, then eventually all read requests will return the same value.

In other words, the inconsistency is transitory and it eventually resolve itself. We expect all replicas to eventually converge to the same vaule. It does not say anything approximately when the replicas will converge. Util then the time, read could return anything or nothing.

For example. whether you write a value and then immediately read it again, there is no guarantee the you will see the value you just wrote, because the read may be routed to deifferent replica.

From Book – Designing Data-Intensive Applications (Martin Kleppmann)

0 0 vote
Article Rating
Notify of
Inline Feedbacks
View all comments