Tuesday, January 22, 2008

[Arch] Consistency Rethought

So easy was it some years ago, when we had a database server and some telnet clients or forms-application that interacted with the database. ACID was the way to go (consistency, transaction-wise). See for example Jim Grays paper from 1981. Now we go Internet, distributed. And it became clear, that this would change the reception of consistency. In a recent article in his blog "All things distributed", Werner Vogels, the CTO from Amazon.com discusses these issues in detail: Eventually Consistent. A must read, I believe.

He quotes also Eric Brewer with his CAP theorem:
"Eric presented the CAP theorem, which states that of three properties of shared-data systems; data consistency, system availability and tolerance to network partition one can only achieve two at any given time."
And in modern distributed (web) applications it seems to become clear, that e.g. system availability is something you do not want to sacrifice. It might be irrelevant for my personal webpage, if there is a downtime of some hours, but when you operate a webshop, social website, webmail and the like, this seriously damages the trust in your service. Not to mention the financial loss, when people cannot set orders for that given down-time. The consequence? Read Werner Vogels article and get Eric Brewers keynote!

Btw.: during VLDB 2007 we had the opportunity to interview Werver Vogels and Eric Brewer to very similar topics. Check out the blog article (Interview with Vogels, Interview with Brewer, and get the audio!

No comments: