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:最终一致性。