数据库事务的四大特性(ACID)

发布时间 2023-10-09 21:19:36作者: 万事胜意k

ACID

ACID 是数据库事务的四个关键特性,分别是原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。

  1. 原子性(Atomicity)

    • 解释: 事务是一个原子操作单元,要么全部执行成功,要么全部失败回滚,不存在部分执行的情况。

    • 例子: 考虑银行转账操作,从一个账户扣除一定金额并将相同金额添加到另一个账户。如果扣款成功但添加失败,整个事务应该回滚,确保数据的一致性。

  2. 一致性(Consistency)

    • 解释: 事务使数据库从一个一致性状态转移到另一个一致性状态,保证数据的完整性。

    • 例子: 在图书馆管理系统中,借书和还书操作是一个事务。如果某人借了一本书,系统必须确保在还书前其他人无法借到相同的书,以保持图书馆的一致性状态。

  3. 隔离性(Isolation)

    • 解释: 多个事务并发执行时,每个事务都应该感觉就像是系统中唯一运行的事务,相互之间不会产生影响。

    • 例子: 考虑一个在线购物网站,两个用户同时购买同一商品。系统必须确保两个事务(购买操作)之间相互隔离,以防止一个用户的购买操作影响另一个用户。

  4. 持久性(Durability)

    • 解释: 一旦事务提交,对数据库的修改应该是永久性的,即使系统崩溃也不应该丢失。

    • 例子: 当你在社交媒体上发布一条消息时,一旦你点击“发布”并且系统确认提交,该消息应该被持久保存,即使系统在此之后崩溃也不会丢失。