From: David Masover Date: 2008-09-28T12:29:47+09:00 Subject: Re: How to make Ruby _THE_ scripting language of choice, fold in SQLite On Saturday 27 September 2008 20:34:32 Clifford Heath wrote: > David Masover wrote: > > Again, it's difficult to argue against this when you haven't told me which > > ones aren't supported, and why. > > DVCS exists because isolation isn't needed, since tools like patch > can often resolve conflicts and when they can't, a human can. DVCS does, in fact, provide isolation (most checkouts are not public until pushed to a public server). And tools like patch are severely limited by not actually knowing much about the application at hand. Most newer VCSes are much smarter about resolving conflicts, but at a certain point, since the VCS doesn't actually know what a certain line of code does, it can't necessarily know which version of that line is the correct one -- it can only guess from context. Compare this to application-specific conflict resolution -- it's quite possible that simply examining the two conflicting states is enough to decide which is correct. > > I'll go read the Dynamo paper again, then... > > From : > "To achieve this level of availability, Dynamo sacrifices consistency under certain failure scenarios." From the same article: "Dynamo is used to manage the state of services that have very high reliability requirements and need tight control over the tradeoffs between availability, consistency, cost-effectiveness and performance." But you're right here, and I withdraw any claim of solid ACID properties of Dynamo. I do agree with this, though: "Experience at Amazon has shown that data stores that provide ACID guarantees tend to have poor availability. This has been widely acknowledged by both the industry and academia."