There is an interesting article out on the Australian ITNews. This article is the follow on to the original article that talks about the research a that Anna Liu, associate professor in services engineering at the school of computer science and engineering at the University of NSW (UNSW) conducted on the behaviour of Amazon EC2, Google AppEngine and Microsoft Azzure under stress. Overall, the picture does not look very good for any of these cloud computing platforms with query response times varrying by as much as 20 times depending on the time of day the service was accessed. 

What both articles imply but don’t make clear is the fact that it is the database access that Anna Liu was measuring. The Article provides this chart for Google AppEngine data store:

Google AppEngine datastore error rates under stress

Google AppEngine datastore error rates under stress

Notice that the API being refferenced is the datastore API and it is failed database transactions that it is measuring. 

And here is data for the Amazon SimpleDB cloud database:

Amazon SimpleDB error rates unders stress

Amazon SimpleDB error rates unders stress

The most telling finding is the fact that many of these failures are designed in to the system on purpose. It makes sense. Google did not set out to have Google AppEngine datastore reinvent tranactional database functionality neither did Amazon design SimpleDB as a replacement for traditional DBMS. Both Amazon and Google designed their datastore to deliver simple (maybe that is why it is called SimpleDB) programming model for the web developers, not a robust transactional database demanded by the enterprise. It does not make one better than the other. It just means they are different. Hopefully these findings help to cool down the raging argument that is going on about suitability of traditional DBMS as Cloud Databases and an emergence of key-value pair data stores as an anti-RDBMS movement of sorts.