乐观复制算法-附件C-一致性模型

本文深入探讨了分布式系统中的一致性模型,包括相互一致性、强一致性、弱一致性及其子类型,如Read-your-write、Session一致性、单调读写一致性以及因果一致性。随着对一致性的放宽,系统在可用性和性能之间找到平衡,最终一致性成为许多系统的选择。
摘要由CSDN通过智能技术生成

附件C-一致性模型

对一致性模型的描述主要从三个出发点进行考虑:

(1)响应前还是响应后,即在完成对所有副本数据集的同步前返回用户,还是完成同步后再给用户反馈。

(2)进行同步对象的多少,是对每次更新进行同步还是在多次更新后再同步。

(3)对更新顺序的维护,维护更新操作间不同的顺序会提供不同的一致性,当完全不考虑更新顺序,甚至更新的类型时,只提供最终数据的相互一致,则是最终一致性。

1.相互一致性

文献[70]对一致性的定义为,设定在数据上的约束。这种约束在不同应用中是不同的。违反这样的约束就称违反了数据的一致性。对于分布式中,复制技术最重要的约束就是副本节点数据的相互一致。请求对一个副本上的数据进行了修改,如果系统没有及时的将更新传播并应用到其它节点,路由到其它节点的请求就会获取到不一致的数据内容。维护节点间的相互一致性就称为了复制系统的关键。同时一致性模型也是数据同步的重要模型。

Yu和Vahdat 2002[13]为定义副本间的不一致性判断设计了三个相互独立的坐标轴:副本之间的数值偏差、副本之间新旧程度的偏差以及更新操作顺序的偏差。数据具有数值语义的应用程序可以按数值偏差来度量不一致性。例如,股票市场价格记录的复制。在这种应用中,应用程序可能会指定两个副本的偏差不能超过0.02美元,这就是绝对数值偏差。也可以指定相对数值偏差,表示两个副本之间的差别不能超过多少(0.5%)新旧偏差与副本最近一次更新有关。多某些应用程序来说,只要副本提供的旧数据不是太旧,它是可以容忍的。例如,天气预报通常要滞后一段时间(如几个小时)。在这种情况下,主服务器会定期地接收更新消息,但在一段时间内只给副本传送一次更新信息。在有些应用程序中,只要可以界定副本之间的差异,就允许不同的副本采用不同的更新顺序。

下面我们来谈一谈不同的一致性约束。不同的一致性约束是系统对外提供服务的不同特性,开发人员在使用一个存储系统前,最先应当了解该系统提供的一致性约束。

我们这里对于一致性约束的描述是以客户端-服务器为模型[52,73]。站在客户端的角度来分析客户端自己所做的更新在不同一致性约束下的不同表现结果。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值