ACID 与 BASE

ACID 强调原子、一致、隔离与持久;BASE 强调基本可用、软状态与最终一致。两者对应不同的业务容忍度,同一系统内也可按业务分区分别选择。

对比

维度ACIDBASE
一致性强一致,事务提交即生效最终一致,允许中间状态
可用性冲突时倾向阻塞或失败倾向继续服务
典型场景交易、账务社交动态、推荐、日志
选择依据是业务能否接受短暂不一致及其时长,而不是技术先进与否。

易错点

  • 核心账务使用最终一致却未做对账与补偿设计
  • 把 BASE 当作“不需要一致性”,忽略业务约束

数据来源与参考

  • Dan Pritchett《BASE: An Acid Alternative》(ACM Queue, 2008)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌