数据一致性模型
《数据一致性模型》由会员分享,可在线阅读,更多相关《数据一致性模型(2页珍藏版)》请在装配图网上搜索。
1、数据一致性模型一些分布式系统通过复制数据来提高系统的可靠性和容错性,并且将数据的不同的副本存放在不同的 机器上,由于维护数据副本的一致性代价很高,因此许多系统采用弱一致性来提高性能,一些不同的一致 性模型也相继被提出,主要有以下几种。强一致性:要求无论更新操作是在哪个数据副本上执行,之后所有的读操作都要能获得最新的数据。 对于单副本数据来说,读写操作是在同一数据上执行的,容易保证强一致性。对多副本数据来说,则需要 使用分布式事务协议(如两阶段提交或Paxos)。弱一致性:在这种一致性下,用户读到某一操作对系统特定数据的更新需要一段时间,我们将这段时 间称为不一致性窗口 。最终一致性:是弱一致性
2、的一种特例,在这种一致性下系统保证用户最终能够读取到某操作对系统特 定数据的更新(读取操作之前没有该数据的其他更新操作)。此种情况下,如果没有发生失败,不一致性 窗口的大小依赖于交互延迟、系统的负载,以及复制技术中replica的个数(这个可以理解为master/slave 模式中,slave的个数)。DNS系统可以说是在最终一致性方面最出名的系统,当更新一个域名的IP以后, 根据配置策略以及缓存控制策略的不同,最终所有的客户都会看到最新的值。最终一致性模型根据其提供的不同保证可以划分为更多的模型。因果一致性(Causal Consistency):假如有相互独立的A、B、C三个进程对数据进行
3、操作。进程A 对某数据进行更新后并将该操作通知给B,那么B接下来的读操作能够读取到A更新的数据值。但是由于A 没有将该操作通知给C,那么系统将不保证C 一定能够读取到A更新的数据值。读自写一致性(Read Your Own Writes Consistency):这个一致性是指用户更新某个数据后读取该 数据时能够获取其更新后的值,而其他的用户读取该数据时则不能保证读取到最新值。会话一致性(Session Consistency):是指读取自写更新一致性被限制在一个会话的范围内,也就是 说提交更新操作的用户在同一个会话里读取该数据时能够保证数据是最新的。单调读一致性(Monotonic Read Consistency):是指用户读取某个数据值,后续操作不会读取到该 数据更早版本的值。时间轴一致性(Timeline Consistency):要求数据的所有副本以相同的顺序执行所有的更新操作, 另一种说法叫单调写一致性 (Monotonic Write Consistency)。 系统选择哪种一致性模型取决于应用对一致性的需求,所选取的一致性模型还会影响到系统如何处理用户 的请求以及对副本维护技术的选择等。
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。