The many faces of consistency
This is a lovely paper (2016) from Marcos Aguilera and Doug Terry . It is an easy read. It manages to be technical and enlightening without involving analysis, derivation, or formulas. The paper talks about consistency. In distributed/networked systems (which includes pretty much any practical computer system today), data sharing and replication brings up a fundamental question: What should happen if a client modifies some data items and simultaneously, or within a short time, another client reads or modifies the same items, possibly at a different replica? The answer depends on the context/application. Sometimes eventual consistency is what is desired (e.g., DNS), and sometimes you need strong consistency (e.g., reservations, accounting). The paper points out two different types of consistency, state consistency and operation consistency , and focuses mainly on comparing/contrasting these two approaches. When I see the terms state versus operation consistency, witho...