In NoSQL: Past, Present, Future Eric Brewer has a particularly fine section on explaining the often hard to understand ideas of BASE (Basically Available, Soft , Eventually Consistent), ACID ( , Consistency, , ), CAP ( Consistency Availability, Partition Tolerance), in terms of a pernicious long standing myth about the sanctity of consistency in banking.
Myth :is important, so banks must use transactions to keep money safe and consistent, right?
[ CHEF-3183 ] - Consistency and expected behavior of resource notifications
[ CHEF-3201 ] - knife client create - already exists exit code
[ CHEF-3210 ] - wrong regexp in provider/service/freebsd.rb
[ CHEF-3235 ] - [regression] file(...).owner and file(...).mode returns nil instead of expected integer value
[ CHEF-3237 ] - Expanding '~/ / ' fails resolving HOME when …
…instead of client-side libraries; Keep your code small and light.
Nice thread in HBase and Consistency in CAP . The short summary of the article is that CAP isn't "C, A, or P, choose two," but rather "When P happens, choose A or " To read more of what the has to say on scalability, please read more below...on
If a system chooses to provide Consistency over Availability in the presence of partitions (again, read: failures), it will preserve the guarantees of its atomic reads and writes by refusing to respond to some requests. It may decide to shut down entirely (like the clients of a single-node data store), refuse writes (like Two-Phase Commit), or only respond to reads and writes for pieces of data whose "master" node is inside the partition component (like Membase).
This is perfectly …
…distributed systems is Brewer's CAP theorem : distributed systems can have Consistency, and Partition-tolerance but can only guarantee two. In the case of , they guarantee AP and loosen consistency to what is known as eventual consistency . Consider a write and a read that are very close together in time. Let's say you have a key "A" with a value of "123″ in your cluster. Now you update "A" to be "456″. …
Consistency - CAP theorem - can get any two of Consistency, , tolerance - not all three. (Also see http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.1915 )
Most systems need partition tolerance and availability ahead of consistency.
Customer wants to place an order - you will accept the order, not return the money saying the system is unavailable - availability is important
Inventory would be checked
Order details …
…article takes four parameters about an application/ usecase ( Scale, Consistency, Type of Data, and Queries needed), then take some 40+ cases that arises from different value combination of those parameters and make one or more concrete recommendations on right storage solution for that case.
What follows are the four parameters and potential values they can take and the recommendations for structured, semi-structured, and unstructured data:
The title of this post is a quote from Weak Consistency and CAP Implications . Besides the article being excellent, I thought this idea had something to add to the great versus debate, where Mike Stonebraker makes the argument that network partitions are rare so designing eventually consistent systems for such rare occurrence is not worth losing semantics over. Even if network partitions are rare, latency between datacenters is not rare, so the game is still on.'s post