Files
chill_notes/数据库/关系型数据库遵循ACID规则.md
2026-04-21 20:40:56 +08:00

1.5 KiB
Executable File
Raw Blame History

ACID 规则

关系型数据库事务的四个基本特性


ACID 特性

事务Transaction在英文中与"交易"类似,具有以下四个特性:


A — Atomicity原子性

事务的所有操作要么全部完成,要么全部不执行

示例:银行转账

A账户转100元到B账户
1. 从A账户减100元
2. 向B账户加100元

两步必须同时成功,否则全部回滚

C — Consistency一致性

事务执行前后,数据库始终处于一致的状态

示例

  • 完整性约束:a + b = 10
  • 事务改变了 a,必须相应改变 b
  • 事务结束后仍满足 a + b = 10

I — Isolation隔离性

并发事务之间互不影响

示例

  • 转账事务进行中
  • 另一事务查询 B 账户余额
  • 看不到新增的 100 元(直到事务提交)

D — Durability持久性

事务提交后,修改永久保存在数据库中。

  • 即使系统宕机
  • 也不会丢失已提交的数据

ACID vs BASE

特性 ACID关系型 BASENoSQL
一致性 强一致性 弱一致性
可用性 可能牺牲 优先保证
分隔容忍 不保证 保证

总结

原子性:要么全做,要么全不做
一致性:事务前后数据一致
隔离性:并发事务互不干扰
持久性:提交后永久保存

参考:NoSQL 简介 - 菜鸟教程