数据库的 ACID

ACID

所谓数据库的ACID指的是数据库管理系统(DBMS)在写入或者更新数据的时候,为了保证事务(transaction)的正确性与可靠性,所必须具备的四个特征,即:

  • 原子性(atomicity
  • 一致性(consistency
  • 隔离性(isolation
  • 持久性(durability

在数据库系统中,一个事务指的是,由一系列数据库操作组成的一个完整的逻辑过程,例如银行转账,即从原账户扣除金额,以及向目标账户添加金额,这两个数据库操作的总和构成了一个完整的逻辑过程,这个过程被称为一个事务,应该具有ACID特性。

原子性

原子性,指的是一个事务中所有的操作,或者全部完成,或者全部不完成,不会结束在中间的某个环节。

事务在执行过程中发生的错误,会被回滚(rollback)到事务开始之前的状态,就像这个事务从来没有被执行过一样。

事务是不可分割的。

一致性

一致性,指的是在事务开始之前和事务结束以后,数据库的完整性没有被破坏,即写入的数据必须完全符合所有预设的约束。

隔离性

隔离性,指的是数据库允许多个并发事务对其数据进行读写修改的能力,隔离性可以防止多个事务并发执行时,由于交叉执行而导致数据的不一致。

事务隔离可以分为多个不同的级别,包括未提交读(read uncommitted),提交读(read committed),可重复读(repeatable read),串行化(serializable)。

持久性

持久性,指的是事务处理结束后,对数据的修改就是永久的,是落盘的,即使数据库系统故障,也不会丢失。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容