Ticket #217 (new wishlist)

Opened 9 years ago

Consistency, availability, and partition tolerance in distributed systems

Reported by: Larry Baker Owned by: somebody
Priority: major Milestone: All Platforms
Component: ALL modules Version:
Keywords: Cc:


The February 2012 issue of Computer (IEEE Computer Society) has several feature articles on "The Growing Impact of the CAP Theorem". The CAP theorem was posed as a conjecture in 2000 by Eric Brewer (later proved by Seth Gilbert and Nancy A. Lynch) at the Distributed Computing Conference. "According to the CAP theorem, it is only possible to simultaneously provide any two of the three following properties in distributed Web-based applications: consistency (C), availability (A), and partition tolerance (P)." Even though this definition includes "Web-base, any distributed system would qualify. Earthworm is such a distributed system, when more than one system is included in the configuration (necessary for a partition to occur). (The separate systems could be as simple as a seismograph with an Earthworm export module sending data to an Earthworm earthquake detection and location system.) This issue contains several articles that discuss the tradeoffs different system designers have made, depending on their business requirements. For example, many web services value availability higher than consistency in the presence of network partitions; they lose customers if their services cannot respond to queries quickly. In other examples, quite good availability and consistency can be achieved, though not perfectly, when there are network partitions. For Earthworm systems, network partitions are a real possibility when radio or Internet coverage is interrupted during strong shaking. Emergency responders will want accurate information quickly. Accuracy depends on consistency, and timeliness depends on availability. But, as has been proven by the CAP theorem, in the presence of network partitioning, both cannot be guaranteed. I recommend browsing through the articles in this issue, if for nothing else than to become aware of the possible coping strategies that have been developed.

Note: See TracTickets for help on using tickets.