SQL

数据库管理系统在写入/更新资料过程中为保证事务是正确可靠的,其必须具备 ACID 特性。

ACID

  • A: atomicity(原子性) - 一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
  • C: consistency(一致性) - 在事务开始之前和事务结束以后,数据库的完整性没有被破坏。即从一个一致性状态转换到另一个一致性状态。
  • I: isolation(隔离性) - 当两个或者多个事务并发访问(此处访问指查询和修改的操作)数据库的同一数据时所表现出的相互关系。通常来说,一个事务所做的修改在最终提交以前,对其他事务是不可见的。
  • D: durability(持久性) - 在事务完成以后,该事务对数据库所作的更改便持久地保存在数据库之中,并且是完全的。

符合 ACID 的典型例子有银行转账,整个过程称为一个事务,具有 ACID 特性。

Reference