数据库事务的四大特性(ACID)
ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的数据库,必需要具有这四种特性,否则在事务过程(Transaction processing)当中无法保证数据的正确性。
1、原子性(Atomicity)
说的是一个事务内所有操作共同组成一个原子包,要么全部成功,要么全部失败。这是最基本的特性。
2、一致性(Consistency)
计算机指令是有先后顺序的,这样就决定了数据库提交事务会有一个过程。如果提交的时候,存在一个时间差,在提交的第一秒,一个删除过程还没完成到了第三秒才完成,会不会第一秒访问的人和第三秒访问的人得到不同的结果?出现不一致,状态的混沌?为了防止这样的情况,数据库事务的一致性就规定了事务提交前后,永远只可能存在事务提交前的状态和事务提交后的状态,从一个一致性的状态到另一个一致性状态,而不可能出现中间的过程态。也就是说事务的执行结果是量子化状态,而不是线性状态。 这就是一致性得保证的只会有前状态和后状态,绝不会出现中间态。
3、隔离性(Isolation)
由于多个事务可能同时操作同一个资源,不同的事务为了保证隔离性,会有很多锁方案。
4、持久性(Durability)
当一个事务提交之后,数据库状态永远的发生了改变,这个事务只要提交了,哪怕提交后宕机,他也确确实实的提交了,不会出现因为刚刚宕机了而让提交不生效。
参考:
https://www.jianshu.com/p/7c4a8a13e923
标签:状态,事务,数据库,特性,提交,一致性,转载 From: https://www.cnblogs.com/ayic/p/16704699.html