CAP理论与PACELC

转自:Leoncom-《CAP理论与PACELC》

CAP理论与PACELC

从去年开始接触NoSQL的知识,CAP理论可以说是整个NoSQL运动者的理论指导。

CAP理论由UC Berkeley的Eric Brewer教授在2000年提出,并于2002年由MIT的Seth Gilbert & Nancy Lynch给出了严谨的证明。

CAP理论认为以下三者不能同时满足:

  • 一致性(Consistency): 所有的节点在同一时刻看到同样的数据。
  • 可用性(Availability):  节点失效不会影响系统的读写。
  • 分区容忍性(Partition Tolerance): 系统能支持网络分区,即使分区之间的消息丢失系统也正常工作。

对C、A、P三者的解读很有很多种,具体可以看后面的参考。

通过上图我们可以看出,根据业务的不同,不同的存储系统会根据自身业务的需求在CAP三者中进行权衡,因此CAP理论的意义应该是一种在分布式数据存储系统设计时tradeoff,而非绝对的认为三者必须舍弃一者,特别是在CAP理论中没有提到系统的响应时间因素,而数据的访问时延是很重要的可用性因素。

Yale的Daniel Abadi认为CAP理论简单的描述有可能造成错误的解读,重新定义了一个模型PACELC,添加了系统中的Latency描述。

上图的意思是,如果一个系统需要进行分区,那就必须在可用性(A)或者一致性(C)之间做出一种tradeoff,否则就需要在系统的延迟(L)和一致性(C)之间做出tradeoff,此模型描述了大多数NoSQL数据库中实现CAP理论的方式,也更具备工程中的意义。

参考:
Julian Browne, Brewer’s CAP Theory 懒得看英文的可以看译文
D. Abdi,   Problems with CAP, andYahoo’s little known NoSQL system


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值