数据库事务的ACID和BASE

时间:2022-03-21 07:35:13

ACID versus BASE for database transactions解释了ACID和BASE的区别。如下:

ACID: (关系数据库)

  • Atomic: 原子性,一个事务要么全部成功,要么全部回滚。
  • Consistent: 一致性,完成一个事务后数据库不能处在一个不一致的状态。
  • Isolated: 隔离性,事物之间不能互相影响。
  • Durable: 持久性,完成的事务对数据库所作的更改便持久地保存在数据库之中。

以为CAP不能兼得(参见Brewer's CAP Theorem),

  • Consistency:一致性。
  • Availability:可用性。
  • Partition tolerance:分区容忍性。

所以NoSql的采用BASE事务。

BASE:

  • Basic Availability:基本可用。
  • Soft-state :柔性事务。
  • Eventual consistency:最终一致性。