What is linearizability in distributed systems?

Linearizability is a guarantee given from distributed databases to clients such that if the DB is processing a write request (e.g increase counter x from 0 to 1), and client A and client B made read requests at the same time, then if client A gets the new value (1) [regardless whether the write request is done being processed or not] then client B must also get the same new value.

In other words, the distributed DB guarantees that if a client gets the new value, then ALL other clients will get the same value afterwards, i.e no values from stale DB replicas or caches … etc.

The DB here is in a leader-follower setup.

This concept is something I learned from the book Designing Data-Intensive Applications.

Leave a Reply