Monotonic Reads
Summary: A guarantee that after a user has seen data at one point in time, they shouldn’t later see the data from an earlier point in time.
Sources: chapter5
Last updated: 2026-04-15
Monotonic reads is a guarantee that if a user makes several reads in sequence, they will not see time “go backward”—i.e., they will not read older data after having previously read newer data (source: chapter5, p. 164).
This anomaly can happen when a user makes two consecutive reads to different replicas, where the second replica has a greater replication lag than the first (source: chapter5, p. 164).
Implementation
One way of achieving monotonic reads is to make sure that each user always makes their reads from the same replica (different users can read from different replicas). The replica can be chosen based on a hash of the user ID, rather than randomly (source: chapter5, p. 165).