请解释数据库的 ACID 特性

推荐答案

ACID 是数据库事务的四个关键特性,分别是:

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

  2. 一致性(Consistency):事务执行前后,数据库必须保持一致性状态。这意味着事务的执行不会破坏数据库的完整性约束,如主键、外键等。

  3. 隔离性(Isolation):多个事务并发执行时,每个事务的操作应该相互隔离,互不干扰。隔离性确保了事务的并发执行不会导致数据不一致。

  4. 持久性(Durability):一旦事务提交,其对数据库的修改就是永久性的,即使系统发生故障,数据也不会丢失。

本题详细解读

原子性(Atomicity)

原子性确保了事务的不可分割性。例如,在银行转账操作中,从一个账户扣款和向另一个账户加款必须作为一个整体执行。如果扣款成功但加款失败,整个操作必须回滚,确保两个账户的余额保持一致。

一致性(Consistency)

一致性确保了数据库从一个有效状态转换到另一个有效状态。例如,在一个订单系统中,订单的总金额必须等于订单项金额的总和。如果事务执行后这个条件不成立,事务将被回滚。

隔离性(Isolation)

隔离性防止了并发事务之间的干扰。例如,两个事务同时读取和修改同一数据时,隔离性确保了一个事务的修改不会影响另一个事务的读取结果。常见的隔离级别包括读未提交、读已提交、可重复读和串行化。

持久性(Durability)

持久性确保了事务提交后的数据不会丢失。例如,即使数据库系统在事务提交后立即崩溃,系统重启后数据仍然保持提交时的状态。这通常通过将事务日志写入持久存储(如磁盘)来实现。

纠错
反馈