2.1 RDBMS ACID
- 1.A atomicity 原子性
事务的成功条件是所有操作完成,事务失败整体回滚 - 2.C consistency 一致性
数据库要一直处于一个一致的状态,事务让数据库从一个一致的状态,到另一个一致的状态 - 3.I isolation 隔离性
事务之间互不影响(要看事务的隔离级别) - 4.D duriability 持久性
一旦事务提交,对数据库的操作就是永久的
2.2 Nosql CAP
- 1.C:Consistency 强一致性
- 2.A:Availability 可用性
- 3.Partition tolerance 分区容错性
2.2.1 CAP理论核心
1.一个分布式的系统不可能同时很好的满足一致性,可用性,分区容错性,最多只能满足两个。
- CA– 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。(RDBMS传统)
- CP– 满足一致性,分区容忍的系统,通常性能不是特别高MongoDB HBase Redis
- AP– 满足可用性,分区容忍的系统,通常对一致性的要求低一些。(这个用的多)(CouchDB,CassandraDB,)
2.P分区容忍性是我们必须要实现的,所以我们要在一致性C和可用性A之间权衡
- CA传统数据库
- AP大多数网站架构的选择 传统分布式的选择(电商,金融系统)
- CP Redis MongoDB(帮数据库减负)
2.3 BASE
- 基本可用BA Basically Available
- 软状态 S Soft state
- 最终一致性 Eventually consistent
如浏览数,就算弱一致性,也不能差的太离谱,等高峰过了以后,要逐渐达到一致。