CAP&BASE

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
    如浏览数,就算弱一致性,也不能差的太离谱,等高峰过了以后,要逐渐达到一致。
分享到