事务的4大特性:

1.原子性

2.一致性

3.隔离性

4.持久性

 

  1. 原子性(Atomicity): 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;
  2. 一致性(Consistency): 执行事务前后,数据保持一致,多个事务对同一个数据读取的结果是相同的;
  3. 隔离性(Isolation): 并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的;
  4. 持久性(Durability): 一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响。

 

这里主要的不解是一致性

ACID里的AID都是数据库的特征,也就是依赖数据库的具体实现.而唯独这个C,实际上它依赖于应用层,也就是依赖于开发者.这里的一致性是指系统从一个正确的状态,迁移到另一个正确的状态.什么叫正确的状态呢?就是当前的状态满足预定的约束就叫做正确的状态.而事务具备ACID里C的特性是说通过事务的AID来保证我们的一致性.
 
AID依赖系统,C依赖开发者,符合开发逻辑(数据库中的约束)的事务具有一致性。


链接:https://www.zhihu.com/question/31346392/answer/362597203
来源:知乎
 posted on 2020-09-25 20:09  胡萝卜钓鱼  阅读(115)  评论(0)    收藏  举报