Amazon云计算AWS之S3数据一致性模型 - 新闻中心 - 福州哈唐网络-福建IDC企业!专注云主机及服务器租用托管13年!

新闻中心

首页 > 新闻中心 > 行业新闻 >

Amazon云计算AWS之S3数据一致性模型

时间:2017-01-12 09:11:13   阅读:

  为了保证用户数据信息的安全性,Amazon在S3系统中采用了冗余存储的方式,也就是对于每个用户数据都产生多个副本,并将这些副本托管保存在不同的服务器上。这样做的好处是在某些托管服务器出现故障时用户仍然可以对其数据进行操作。但是这也有不可避兔的弊端,用户在操作时可能会出现如下几种情况。
 
  (1)—个进程写入一个新的对象并立即尝试读取它,但在该改变被传送到S3的多个服务器前,服务器对该操作可能返回“键不存在”。
 
  (2)—个进程;入一个新的对象并立即尝试列出桶中已有的对象,但在该改变被传送到S3的多个服务器前,该对象很可能不会出现在列表中。
 
  (3)—个进程用新数据替换现有的对象并立即尝试读取它,但在该改变被传送到S3 P的多个服务器前,S3可能会返回以前的数据。
 
  (4)—个进程删除现有的对象并立即尝试读取它,但在该改变被传送到S3的多个服务器前,S3可能会返回被删除的数据。
 
  (5)—个进程删除现有的对象并立即尝试列出桶中的所有对象,但在该改变被传送到S3的多个服务器前,S3可能会列出被删除的对象。
 
  出现这些现象是因为S3为了保证用户数据的一致性而采取的一种折中手段,即在数据被充分传播到所有的存放节点之前返回给用户的仍是原数据,这其实也就是前面提到的Dynamo架构中采用的最终一致性模型。图3-16给出了一个简单的示意图。
 
\
 
  和前面提到的Dynamo架构不同,当用户对同一桶的同一对象先后进行两次不同的操作时,后一次操作值会直接覆盖前一次操作。比如,对于名为chinacloud的桶中的对象A先设定一个值为100,后来又设定其值为150,则A的最后值为150。这种方法看似简单却很有效。
 


闽公网安备 35010002000114号