事务原子性的实现方式

ACID

Atomicity 原子性

整个事务的开启和提交算是一个整体。在事务开启过程中执行了一百个操作,如果最终提交失败了,这之前的操作也全部都会回滚。

Consistency 一致性

相较于其他几个特性很特殊,一致性的概念是数据库在经过一个或多个事务后,数据库必须保持在一致性的状态。如果从事务的角度去理解,保证了AID就可以保证事务是可串行、可恢复、原子性的,但是这种事务状态的一致性就是真正的一致性吗?破坏了AID就一定破坏C,但是反之AID都保证了C一定会被保证吗?如果答案是是的话那这个概念就会失去它的意义。我们可以保证AID来保证事务是一致的,但是是否能够证明事务的一致一定保证数据的一致呢?另外数据一致这个概念通过事务很难去准确定义,而如果通过用户层面就很好定义。数据一致就是用户认为数据库中数据任何时候的状态是满足其业务逻辑的。比如银行存款不能是负数,所以用户定义了一个非负约束。我认为这是概念设计者的一个留白,倾向于将一致性视为一种高阶目标。(没太理解)

Isolation 隔离性

隔离性的本质是防止事务并发会导致不一致的状态,有四种隔离级别,分别是:Read Uncommited、Read Commited、Repeatable Read、Serlalizable。

Durability 持久性

事务一经提交,就永久的写在了硬盘中。

原子性方案讨论

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值