CAP原理与最终一致性(BASE)

1 篇文章 0 订阅
0 篇文章 0 订阅

CAP原理与最终一致性(BASE)

1,什么是CAP

CAP原理是数据库软件的理论基础,它指出对于一个数据库系统来说,不可能同时满足以下三点:

1,强一致性(Consistency):所有节点在同一时间具有相同的数据。
2,可用性(Availability):保证每个请求不管成功或者失败都有响应。
3,分区容忍性(Patition tolerance):系统中任意信息的丢失或失败不会影响系统的继续运作。

   分布式数据库系统也只能满足三项中的两项。而由于当前的网络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须要实现的,因此只能在一致性和可用性之间进行权衡,大多数分布式数据库系统选择了牺牲一致性提高可用性,如图:
在这里插入图片描述
例如: Hbase的设计基于这样一些方面考虑,首先不要求严格的数据库事务,保证数据最终一致性即可;其次数据库的写入可能在几秒之后读取出来用户也是能够忍受的,也就是说不能实时的读取刚刚写入的数据,另外就是复杂SQL的查询在产品设计阶段就避免了,更多的查询集中在针对主键的查询。

BASE(最终一致性)

BASE就是为了解决关系型数据库强一致性引起的问题而引起的可用性降低的解决方案:

1,基本可用(Basically Available)
2,软状态(Soft state),
3,最终一致(Eventually consistent)

   它的思想是通过让系统放松对某一时刻数据一致性的要求来换取系统整体伸缩性和性能上改观,
为什么这么说呢,缘由就在于大型系统往往由于地域分布和极高性能的要求,不可能采用分布式事务来完成
这些指标,要想获得这些指标,我们必须采用另一种方式来完成,这里base就是解决这个问题的办法

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值