1. nosql数据库总括
关系型数据库不适合在分布式环境中的向外扩展,难以支持高并发读写
Nosql数据库易于数据的分散、提升性能和增大规模、模式*、扩展性好
2. CAP理论:
C: Consistency 一致性
A: Availability 可用性
P: Tolerance of network Partition 分区容忍性
CAP理论:一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个
3. NRW模型
N 数据所具有的副本数
R 完成读操作所需要读取的最小副本数
W完成写操作所需要写入的最小副本数
R+W>N就可以保证强一致性,读取的数据节点和被同步写入的节点是有重叠的。
如果要高的一致性,那么就配置N=W,R=1,这个时候可用性特别是写操作的性能就会大大降低
如果想要高的可用性,那么此时就需要放松一致性的要求,此时可以配置W=1,这样使得写操作延迟最低,同时通过异步的机制更新剩余的N-W个节点
W = Q, R = Q where Q = N / 2 + 1 一般应用适用,读写性能之间取得平衡,如N=3,W=2,R=2
4. 两阶段提交协议
投票阶段
在请求阶段,协调者将通知事务参与者准备提交或取消事务,然后进入表决过程
在表决过程中,参与者将告知协调者自己的决策:同意(事务参与者本地作业执行成功)或取消(本地作业执行故障)
提交阶段
协调者将基于第一个阶段的投票结果进行决策:提交或取消。当且仅当所有的参与者同意提交事务协调者才通知所有的参与者提交事务,否则协调者将通知所有的参与者取消事务
缺点:同步阻塞、单点故障、数据不一致、二阶段无法解决的问题
5. BASE模型
Basically Availble --基本可用
Soft-state --软状态/柔性事务
Eventual Consistency --最终一致性
BASE模型完全不同于ACID模型,牺牲高一致性,获得可用性或可靠性