Data Consistency Models of Public Cloud Storage Services: Amazon S3, Google Cloud Storage and Windows Azure Storage

The public cloud storage services like Amazon S3, Google Cloud Storage and Windows Azure Storage replicate the data to ensure high availability. On the other hand, with data being replicated, the storage services exhibits certain data consistency models. Different cloud service providers employ different data consistency models nowadays. In this post, we survey the data consistency models provided by the time the post is written (Feb. 4, 2014) by the solutions from the three big players: Amazon S3 (and DynamoDB), Google Cloud Storage and Windows Azure Storage.

Amazon S3

Amazon S3 is a simple key-based object store service for the Internet and provides a SLA which reflects it maturity.

Amazon S3 buckets provide read-after-write consistency for PUTS of new objects and eventual consistency for overwrite PUTS and DELETES in a number of regions, while the buckets in the US Standard Region provide eventual consistency. More information on Amazon S3’s data consistency model is available at http://aws.amazon.com/s3/faqs/

DynamoDB

DynamoDB is an Internet-scale NoSQL database service provided by AWS. Different from Amazon S3, DynamoDB allows the users to choose between a strongly consistent read and an eventually consistent read based on the needs when the users get an item. Of course, the strongly consistent read consumes more resource than the eventually consistent read. Read more about DynamoDB at http://aws.typepad.com/aws/2012/01/amazon-dynamodb-internet-scale-data-storage-the-nosql-way.html

Google Cloud Storage

Briefly, Google Cloud Storage provides strong read-after-write consistency for all upload and delete operations and eventual consistency for list operations. Additionally, the upload operations to Google Cloud Storage are atomic. There are several exceptions to the strong read-after-write consistency model which is related to the cache and the eventual consistency for list operations as discussed at https://developers.google.com/storage/docs/concepts-techniques#consistency

Windows Azure Storage

Windows Azure Storage provides three properties that the CAP theorem claims are difficult to achieve at the same time: strong consistency, high availability, and partition tolerance. Brad Calder et al. published the design of the Windows Azure Storage in the paper Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency at SOSP’11.

Eric Zhiqiang Ma

Eric is interested in building high-performance and scalable distributed systems and related technologies. The views or opinions expressed here are solely Eric's own and do not necessarily represent those of any third parties.

Leave a Reply

Your email address will not be published. Required fields are marked *