ACID事务——BASE理论

ACID事务四大特性

什么是事务?
事务(Transaction)是并发控制单位,是用户定义的一个操作序列,这些操作要么都做,要么都不做,是一个不可分割的工作单位。
事务通常以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。
事务通常以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。

ACID,分别代表原子性(Atomicity),一致性(Consostency),隔离性(Isolation)与持久性(Durability)是事务提供的安全保证

 

原子性


原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。

一致性


数据库总是从一个一致性的状态转移到另一个一致性的状态。一致性确保了即使在执行第三、第四条语句之间时系统崩溃,前面执行的第一、第二条语句也不会生效,因为事务最终没有提交,所有事务中所作的修改也不会保存到数据库中。

隔离性


一个事务的执行不能其它事务干扰。即一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。

持续性


指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。接下来的其它操作或故障不应该对其执行结果有任何影响。

事务中的所有操作要么全部执行,要么都不执行; 如果事务没有原子性的保证,那么在发生系统 故障的情况下,数据库就有可能处于不一致状态。 因而,事务的原子性与一致性是密切相关的。

BASE理论

是基本可用(BasicallyAvailable)、软状态)Soft state)最终一致性(Eventually consistent)缩写

基本可用BasicallyAvailable

系统某些节点出现了不可预知的故障,系统整体上还是可用的。

只是相对于正常系统而言,响应时间上有所损失,或者某些功能不可用

软状态SoftState

不要求系统的强一致性,允许系统中的数据存在中间状态

并认为该中间状态,不会对系统整体造成负面影响

最终一致性EventuallyConsistent

系统处于软状态,经过有限的时间期限后,数据最终能达到一致

最终一致性由以下几部分组成,不一定都能满足

因果一致性     

A节点更新完数据后,同步给B节点\n那么后续对节点B中数据的访问和修改,都给予A更新后的值

读己之所写

更新节点A后,通过节点A一定能读到在节点A上更新的最新值

会话一致性

在同一个会话中,客户端一定能读到自己更新的最新值

单调写一致性

对同一一个节点的写操作,按顺序执行\n单调读一致性

客户端从系统中读到某个数据后,在后续访问中,系统不应返回更旧的值

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值