In CACM, 01/09, Werner Vogels, in his article “Eventually Consistent“, describes how the construction of large distributed systems, such as Amazon EC2 and S3, would require the tradeoff between consistency and availability. This follows Eric Brewer‘s CAP theorem (conjecture?). The idea is that in any shared-data system, only 2 of following 3 properties could be satisfied: consistency, availability, and tolerance to network partitions. In large distributed systems, e.g. cloud-computing, tolerance to network partitions is a given. So there is a trade-off between consistency and availability.
Vogels’ proposition is that availability of the system (and the resulting services) has higher priority to consistency in most cases. He identifies different types of relaxed form of consistency, other than strong consistency — that all data stored in the entire system could be retrieved, and when compared, are the same. The relaxed consistencies allow the Amazon implemention of the cloud to be highly available, and eventually, transaction updates are made consistent.
This article points to the fact that in order to build cloud-computing architectures, previous assumptions such as ACID may need to be relaxed.
Copyright (c) 2009 by Waiming Mok