数据库的ACID原则
数据库的ACID原则是关系型数据库中保证事务的一致性和可靠性的基本原则,其包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)四个方面。
- 原子性(Atomicity):原子性是指一个事务是一个不可分割的工作单位,其中的操作要么都做,要么都不做。如果事务中一个sql语句执行失败,则已执行的语句也必须回滚,数据库退回到事务前的状态。
- 一致性(Consistency):一致性是指事务执行结束后,数据库的完整性约束没有被破坏,事务执行的前后都是合法的数据状态。数据库的完整性约束包括但不限于:实体完整性(如行的主键存在且唯一)、列完整性(如字段的类型、大小、长度要符合要求)、外键约束、用户自定义完整性(如转账前后,两个账户余额的和应该不变)1。
- 隔离性(Isolation):隔离性是指,事务内部的操作与其他事务是隔离的,并发执行的各个事务之间不能互相干扰1。通常使用锁机制来保证事务的隔离性1。
- 持久性(Durability):持久性是指事务一旦提交,它对数据库的改变就应该是永久性的1。接下来的其他操作或故障不应该对其有任何影响1。