Consistency & Consensus for System Design Interview (1): introduction to linearizability

SystemDesign
Tech Wrench
Published in
11 min readMay 9, 2023

--

PREV | HOME | NEXT | System Design Resource List

Don’t forget to get your copy of Designing Data Intensive Applications, the single most important book to read for system design interview prep!

Check out ByteByteGo’s popular System Design Interview Course

Consider signing-up for paid Medium account to access our curated content for system design resources.

Introduction

A database with multiple replicas, experiences some lag copying a new write processed by one of the replicas to the rest of the replicas. During this time, a read request routed to one of the replicas which hasn’t replicated the new write yet, returns the old value. If multiple read requests are issued, then some of these requests may reach replicas who have replicated the new write and some requests to replicas that are yet to replicate the new write. The result is that some read requests return the new value and some the old value. All the database replicas are expected to eventually record the new write, however, there’s no bound on how long it takes for all the replicas to replicate the write.

Eventual consistency is a weak guarantee as it doesn’t say when the replicas will converge to the…

--

--