ACID
所谓数据库的ACID
指的是数据库管理系统(DBMS
)在写入或者更新数据的时候,为了保证事务(transaction
)的正确性与可靠性,所必须具备的四个特征,即:
- 原子性(
atomicity
) - 一致性(
consistency
) - 隔离性(
isolation
) - 持久性(
durability
)
在数据库系统中,一个事务指的是,由一系列数据库操作组成的一个完整的逻辑过程,例如银行转账,即从原账户扣除金额,以及向目标账户添加金额,这两个数据库操作的总和构成了一个完整的逻辑过程,这个过程被称为一个事务,应该具有ACID
特性。
原子性
原子性,指的是一个事务中所有的操作,或者全部完成,或者全部不完成,不会结束在中间的某个环节。
事务在执行过程中发生的错误,会被回滚(rollback
)到事务开始之前的状态,就像这个事务从来没有被执行过一样。
事务是不可分割的。
一致性
一致性,指的是在事务开始之前和事务结束以后,数据库的完整性没有被破坏,即写入的数据必须完全符合所有预设的约束。
隔离性
隔离性,指的是数据库允许多个并发事务对其数据进行读写修改的能力,隔离性可以防止多个事务并发执行时,由于交叉执行而导致数据的不一致。
事务隔离可以分为多个不同的级别,包括未提交读(read uncommitted
),提交读(read committed
),可重复读(repeatable read
),串行化(serializable
)。
持久性
持久性,指的是事务处理结束后,对数据的修改就是永久的,是落盘的,即使数据库系统故障,也不会丢失。
网友评论