Last modified: January 24, 2026

This article is written in: 🇺🇸

Linearizability

Linearizability is a consistency model used to make it seem like there's only one copy of the data. It ensures that:

Write Request       Read Request       Read Request
     |                  |                  |
     V                  V                  V
+----------+       +----------+       +----------+
|          |       |          |       |          |
| Database | ----> | Database | ----> | Database |
| (Latest  |       | (Latest  |       | (Latest  |
|  Value)  |       |  Value)  |       |  Value)  |
|          |       |          |       |          |
+----------+       +----------+       +----------+

Ordering

To achieve linearizability, an order for data operations is required:

Total Order Broadcast

Total order broadcast is a protocol to exchange messages between nodes:

Distributed Transactions and Consensus

Distributed transactions can use the two-phase commit:

Quorum and Consensus Algorithms

Consensus algorithms use a majority (quorum) of nodes to improve availability: