什么是事务?事务的 ACID 属性是什么?

发布时间 2023-10-06 23:59:26作者: 时光亲笔

事务(Transaction)是指一组数据库操作,这些操作要么全部成功执行,要么全部失败回滚,保证数据库的一致性和完整性。

ACID是指事务应具备的四个特性:

1. 原子性(Atomicity):事务是一个不可分割的操作单元,要么全部执行成功,要么全部失败回滚。如果事务中的任何一步操作失败,整个事务将回滚到最初的状态,数据库不会受到部分操作的影响。

2. 一致性(Consistency):事务执行前和执行后,数据库的状态应保持一致。事务执行过程中对数据的修改必须满足预设的约束条件,保证数据的完整性。

3. 隔离性(Isolation):多个事务并发执行时,每个事务都应该与其他事务隔离开来,互不干扰。每个事务应该感知不到其他事务的存在,以保证数据的一致性。

4. 持久性(Durability):一旦事务提交,其对数据库的修改应该是永久性的,即使在系统故障或重启的情况下,修改的数据也应该得到保留。

ACID属性保证了事务的可靠性和可恢复性,确保数据库在并发操作和故障恢复的情况下仍能保持数据的一致性和完整性。

需要注意的是,ACID属性对于关系型数据库是强制要求的,但对于非关系型数据库,特别是分布式数据库,ACID属性可能会有所放松,以追求更高的可扩展性和性能。