找回密码
 立即注册
查看: 31|回复: 0

数据词典:BASE(Basically Available,Soft-state,Eventual consistency)

[复制链接]

656

主题

70

回帖

2291

积分

管理员

积分
2291
发表于 2025-11-7 13:17:27 | 显示全部楼层 |阅读模式
说起BASE(Basically Available,Soft-state,Eventual consistency),不得不谈到ACID。一个数据库事务具有ACID四性。
1.A(Atomicity):原子性。它是指事务必须是原子工作单元,对于其数据修改,要么全都执行,要么全都不执行。
2.C(Consistency):一致性。它是指事务在完成时,必须使所有的数据都保持一致状态。
3.I(Isolation):隔离性。它是指由并发事务所做的修改必须与任何其他并发事务所做的修改隔离。
4.D(Durability):持久性。它是指事务完成之后,它对于系统的影响是永久性的,该修改即使出现致命的系统故障也将一直保持。
关系数据库系统中设计了复杂的事务管理机制来保证事务在执行过程中严格满足ACID四性要求。关系数据库的事务机制较好地满足了银行等领域对数据一致性的要求,因此得到了广泛的商业应用。但是,NoSQL数据库通常应用于Web 2.0网站等场景中,对数据一致性的要求并不是很高,而是强调系统的高可用性,因此为了获得系统的高可用性,可以考虑适当牺牲一致性或分区容忍性。BASE的基本思想就是在这个基础上发展起来的,它完全不同于ACID模型,BASE牺牲了高一致性,从而获得可用性或可靠性,Cassandra系统就是一个很好的实例。有意思的是,单从名字上就可以看出二者有点“水火不容”,BASE的英文意义是碱,而ACID的英文含义是酸。
BASE的基本含义是基本可用(Basically Available)、软状态(Soft-state)和最终一致性(Eventual consistency),具体如下:
1.基本可用。基本可用是指一个分布式系统的一部分发生问题变得不可用时,其他部分仍然可以正常使用,也就是允许分区失败的情形出现。比如,一个分布式数据存储系统由10个节点组成,当其中1个节点损坏不可用时,其他9个节点仍然可以正常提供数据访问,那么,就只有10%的数据是不可用的,其余90%的数据都是可用的,这时就可以认为这个分布式数据存储系统“基本可用”。
2.软状态。“软状态(Soft-state”是与“硬状态(Hard-state”相对应的一种提法。数据库保存的数据是“硬状态”时,可以保证数据一致性,即保证数据一直是正确的。“软状态”是指状态可以有一段时间不同步,具有一定的滞后性。假设某个银行中的一个用户A转移资金给另外一个用户B,假设这个操作通过消息队列来实现解耦,即用户A向发送队列中放入资金,资金到达接收队列后通知用户B取走资金。由于消息传输的延迟,这个过程可能会存在一个短时的不一致性,即用户A已经在队列中放入资金,但是资金还没有到达接收队列,用户B还没拿到资金,这就会出现数据不一致状态,即用户A的钱已经减少了,但是用户B的钱并没有相应增加,也就是说,在转账的开始和结束状态之间存在一个滞后时间,在这个滞后时间内,两个用户的资金似乎都消失了,出现了短时的不一致状态。虽然这对用户来说有一个滞后,但是这种滞后是用户可以容忍的,甚至用户根本感知不到,因为两边用户实际上都不知道资金何时到达。当经过短暂延迟后,资金到达接收队列时,就可以通知用户B取走资金,状态最终一致。
3.最终一致性。一致性的类型包括强一致性和弱一致性,二者的主要区别在于高并发的数据访问操作下,后续操作是否能够获取最新的数据。对于强一致性而言,当执行完一次更新操作后,后续的其他读操作就可以保证读到更新后的最新数据;反之,如果不能保证后续访问读到的都是更新后的最新数据,那么就是弱一致性。而最终一致性只不过是弱一致性的一种特例,允许后续的访问操作可以暂时读不到更新后的数据,但是经过一段时间之后,必须最终读到更新后的数据。最终一致性也是ACID的最终目的,只要最终数据是一致的就可以了,而不是每时每刻都保持实时一致。
【出处】林子雨.大数据技术原理与应用(第3版).人民邮电出版社,20211.

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|全数联人才测评中心 ( 京ICP备2024094898号 )

GMT+8, 2025-11-18 03:07 , Processed in 0.096532 second(s), 20 queries .

版权所有: 全数联人才测评(北京)中心

友情链接: 中华全国数字人才培育联盟 全数联人才测评中心学习平台 全数联人才测评中心存证平台 全数联人工智能专员认证中心

快速回复 返回顶部 返回列表