文章目录
引言
ACID是关系型数据库事务的四大特性, 即原子性 (Atomicity)
、 一致性(Consistency)
、隔离性(Isolation)
和 持久性(Durability)
。
首先来看事务, 事务是一组原子性的sql执行单元, 要么全部执行成功(commit),要么全部执行失败(rollback)
。而要保证事务的这种特性, 就必须借助于ACID
。换一种说法, 借助于ACID, 关系型数据库的事务操作实现了CAP理论中的CA, 即一致性和可用性。
ACID特性
1.原子性(Atomicity)
单个事务,为一个不可分割的最小工作单元,整个事务中的所有操作要么全部commit成功,要么全部失败rollback,对于一个事务来说,不可能只执行其中的一部分SQL操作,这就是事务的原子性。
2.一致性(Consistency)
数据库总是从一个一致性的状态转换到另外一个一致性的状态。换句话说就是一致性保证了事务在执行完前,因为事务最终没有提交,所以事务中所做的修改也不会保存到数据库中,保证数据一致性。
3.隔离性(Isolation)
同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。
4.持久性(Durability)
一旦事务提交,则其所做的修改就会永久保存到数据库中。此时即使系统崩溃,修改的数据也不会丢失。