INEVITY's Blog

tech life

object存储原子操作和一致性考虑和设计

July 18, 2016

参考信息

概念

atomic put

atomic get

AWS S3 Data Consistency Model

分层考虑、复制一致性、或者读写一致性

设计原则

当前问题

基于librados构造对象存储,一个对象读写落到librados可能就是多个读写。对于atomic put和get,不计划引入lock,基于librados引入锁,导致实现复杂,影响扩展性和复杂化对象网关。

具体实现

refs

http://shlomoswidler.com/2009/12/read-after-write-consistency-in-amazon.html

http://www.allthingsdistributed.com/2007/12/eventually_consistent.html
http://www.allthingsdistributed.com/2008/12/eventually_consistent.html

Eventually consistent acm 研读
http://dl.acm.org/citation.cfm?id=1435432
http://dl.acm.org/citation.cfm?id=2576794
http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro
https://www.quora.com/What-is-the-data-consistency-model-for-Amazon-S3
http://www.allthingsdistributed.com/2008/12/eventually_consistent.html
http://www.allthingsdistributed.com/2008/12/eventually_consistent.html
评论
http://jayendrapatil.com/aws-s3-data-consistency-model/
http://ceph.com/dev-notes/atomicity-of-restful-radosgw-operations/
rgw atomic operations, revisited
Announcement: US Standard now supports read-after-write consistency

https://forums.aws.amazon.com/ann.jspa?annID=3112
Read-after-write consistency allows you to retrieve objects immediately after creation in Amazon S3. Prior to this change, Amazon S3 buckets in the US Standard Region provided eventual consistency for newly created objects, which meant that some small set of objects might not have been available to read immediately after new object upload. These occasional delays could complicate data processing workflows where applications need to read objects immediately after creating the objects. Please note that in US Standard Region, this consistency change applies to the Northern Virginia endpoint (s3-external-1.amazonaws.com). Customers using the global endpoint (s3.amazonaws.com) should switch to using the Northern Virginia endpoint (s3-external-1.amazonaws.com) in order to leverage the benefits of this read-after-write consistency in the US Standard Region.

Amazon S3 Data Consistency Model

http://docs.aws.amazon.com/AmazonS3/latest/dev/Introduction.html#Regions

[^1]: ATOMICITY OF RESTFUL RADOSGW OPERATIONS