flâneur — a map of the web's best reading

Strong consistency models

aphyr.com · 3,285 words · saved by 1 readers

Network partitions are going to happen. Switches, NICs, host hardware, operating systems, disks, virtualization layers, and language runtimes, not to mention program semantics themselves, all conspire to delay, drop, duplicate, or reorder our messages. In an uncertain world, we want our software to maintain some sense of intuitive correctness. Well, obviously we want intuitive correctness. Do The Right Thing(TM)! But what exactly is the right thing? How might we describe it? In this essay, we’ll take a tour of some “strong” consistency models, and see how they fit together. There are many ways to express an algorithm’s abstract behavior–but just for now, let’s say that a system is comprised of a state, and some operations that transform that state. As the system runs, it moves from state to state through some history of operations. For instance, our state might be a variable, and the operations on the state could be the writes to, and reads from, that variable. In this simple Ruby prog

Strong consistency models Software Distributed Systems Jepsen Networks 2014-05-15 Update, 2018-08-24: For a more complete, formal discussion of consistency models, see jepsen.io . Network partitions are going to happen . Switches, NICs, host hardware, operating systems, disks, virtualization layers, and language runtimes, not to mention program semantics themselves, all conspire to delay, drop, duplicate, or reorder our messages. In an uncertain world, we want our software to maintain some sense of intuitive correctness . Well, obviously we want intuitive correctness. Do The Right Thing(TM)! B

Explore this link on the map →

related reading