Amazon S3数据一致性模型

左右Amazon S3有两种类型的数据的一致性模型的:

最后,一致性和读一致性。

有下面几种行为:

1 写一个新的object,然后開始读它。直到全部的变化都传播完(副本),你才干读到它,否则就是key does not exist。

2 写一个新的object,然后listkeys,直到全部的变化都传播完。你才干看到它。

3 覆盖一个已有的object,然后開始读它,直到全部的变化都传播完,你才干拿到最新的object,否则就是老的。

4 删除一个object,直到全部的变化都传播完,你读它。才会产生key does not exist。否则读到已删除的object。

5 删除一个object,直到全部的变化都传播完,你listkeys,才没有这个object。否则还会有它。


这里须要注意的是不同的region提供的数据一致性模型是不一样的,US Standard Region比較特殊,它提供的是终于一致性模型(eventual consistency)。其他的region提供的是对于put一个新的object,提供的是read after write consistency. 对于覆盖object和删除object,提供的也是终于一致性。

终于一致性可能导致脏读。可是latency会比較小,所以吞吐量会比較高。读写一致性不会出现脏读,可是latency可能会比較大,所以吞吐量会比較低。


还须要注意的是。S3并不提供锁,假设你同一时候对同一个key进行操作,那么后一个操作会覆盖前一个操作的结果。

原文:http://blog.csdn.net/hongchangfirst/article/details/36015151

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst


版权声明:本文博主原创文章。博客,未经同意不得转载。

原文地址:https://www.cnblogs.com/blfshiye/p/4945724.html