-
原子性(Atomicity):原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。这意味着事务内的操作如果失败,会回滚到事务开始前的状态;如果成功,则事务内的所有操作都会提交。原子性确保事务内的操作要么全做,要么全不做,是一个不可分割的工作单位。
-
一致性(Consistency):一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态。也就是说,一个事务执行之前和执行之后都必须处于一致性状态。一致性通过约束、触发器、存储过程和数据库规则等来实现。例如,银行转账业务中,两个账户的总金额在事务前后应该保持一致。
-
隔离性(Isolation):隔离性是指并发的事务是相互隔离的。即一个事务内部的操作及正在操作的数据必须封锁起来,不被其他企图进行修改的事务看到。隔离性通过锁机制来实现,确保并发执行的事务不会互相干扰。如果没有隔离性,多个事务同时对同一数据进行操作,可能会导致数据不一致的问题,如脏读、不可重复读和幻读等。
-
持久性(Durability):持久性是指一旦事务提交,则其结果就是永久的。即使系统发生崩溃或者故障,数据库也能将数据恢复到事务成功结束时的状态。持久性通过数据库的备份、恢复和日志机制来保证。例如,在关系数据库中,一旦事务提交,其对数据的修改就会被永久地保存在数据库中。