数据一致性理论 RCAP理论 序号 选择 特点 例子 1 C、A 两阶段提交、缓存验证协议 传统数据库 2 C、P 悲观加锁 分布式加锁 3 A、P 冲突处理、乐观 DNS ◆放弃A:相对于放弃“分区容错性”,其方面就是放弃可用性。一 旦遇到分区容错故障,那么受到影响的服务需要等待数据一致,因 此等待期间系统无法对外提供服务。 1986
CAP理论 放弃A:相对于放弃“分区容错性”,其方面就是放弃可用性。一 旦遇到分区容错故障,那么受到影响的服务需要等待数据一致,因 此等待期间系统无法对外提供服务。 数据一致性理论 序号 选择 特点 例子 1 C、A 两阶段提交、缓存验证协议 传统数据库 2 C、P 悲观加锁 分布式加锁 3 A、P 冲突处理、乐观 DNS
数据一致性理论 RCAP理论 序号 选择 特点 例子 1 C、A 两阶段提交、缓存验证协议 传统数据库 2 C、P 悲观加锁 分布式加锁 3 A、P 冲突处理、乐观 DNS ◆放弃C:这里所说的放弃一致性,并是不完全放弃数据的一致性, 而是放弃数据的强一致性,而保留数据的最终一致性。以网络购物 为例,对只剩最后一件库存商品,如果同时接收了两份订单,较晚 的订单将被告知商品售罄。 1986
CAP理论 放弃C:这里所说的放弃一致性,并是不完全放弃数据的一致性, 而是放弃数据的强一致性,而保留数据的最终一致性。以网络购物 为例,对只剩最后一件库存商品,如果同时接收了两份订单,较晚 的订单将被告知商品售罄。 数据一致性理论 序号 选择 特点 例子 1 C、A 两阶段提交、缓存验证协议 传统数据库 2 C、P 悲观加锁 分布式加锁 3 A、P 冲突处理、乐观 DNS
数据一致性理论 ?最终一致性模型 ◆分布式系统一般通过复制数据来提高系统的可靠性和容错性,并 且将数据的不同副本存放在不同的机器上,由于维护数据副本一致 性代价很高,许多系统采用弱一致性来提高性能。不同的一致性模 型: +强一致性 ◆弱一致性 ◆最终一致性 1/986
最终一致性模型 分布式系统一般通过复制数据来提高系统的可靠性和容错性,并 且将数据的不同副本存放在不同的机器上,由于维护数据副本一致 性代价很高,许多系统采用弱一致性来提高性能。不同的一致性模 型: 强一致性 弱一致性 最终一致性 数据一致性理论
数据一致性理论 最终一致性模型 ◆强一致性:要求无论更新操作在哪个数据副本上执行,之后所有 的读操作都要获得最新的数据。对于单副本数据来说,读写操作在 同一数据上执行,容易保证强一致性。对于多副本数据来说,需要 使用分布式事物协议(如Paxos)。 ◆弱一致性:在这种一致性下,用户读到某一操作对系统特定数据 的更新需要一段时间。这段时间成为“不一致性窗口”。 1986
最终一致性模型 强一致性:要求无论更新操作在哪个数据副本上执行,之后所有 的读操作都要获得最新的数据。对于单副本数据来说,读写操作在 同一数据上执行,容易保证强一致性。对于多副本数据来说,需要 使用分布式事物协议(如Paxos)。 弱一致性:在这种一致性下,用户读到某一操作对系统特定数据 的更新需要一段时间。这段时间成为“不一致性窗口”。 数据一致性理论
数据一致性理论 ⑧最终一致性模型 ◆最终一致性:是弱一致性的一种特例,在这种一致性下系统保证 用户最终能够读取到某操作对系统特定数据的更新。 ◆此种情况下,“不一致性窗口”的大小依赖于交互延迟、系统负 载,以及复制技术中replical的个数(可以理解为master/slave模式 中,slavel的个数)。 ◆DNS系统是在最终一致性方面最出名的系统,当更新一个域名的 P以后,根据配置策略以及缓存控制策略的不同,最终所有客户都 会看见最新值。 /986
最终一致性模型 最终一致性:是弱一致性的一种特例,在这种一致性下系统保证 用户最终能够读取到某操作对系统特定数据的更新。 此种情况下,“不一致性窗口”的大小依赖于交互延迟、系统负 载,以及复制技术中replica的个数(可以理解为master/slave模式 中,slave的个数)。 DNS系统是在最终一致性方面最出名的系统,当更新一个域名的 IP以后,根据配置策略以及缓存控制策略的不同,最终所有客户都 会看见最新值。 数据一致性理论