分布式总结

发布于: 2020 年 07 月 15 日

1、分布式数据库

MySQL复制注意事项:

主主复制的两个数据库不能并发写入。

复制只是增加了数据的读并发处理能力,没有增加写并发能力和存储能力。

更新表结构会导致巨大的同步延迟。

2、noSQL

NoSQL,泛指非关系型的数据库。随着互联网网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

  • CAP原理

  • AICD

原子性(Atomicity ):事务要么全部完成,要么全部取消。如果事务崩溃,状态回到事务之前(事务回滚)。

隔离性(Isolation ):如果2个事务T1和T2同时运行,事务T1和T2最终的结果是相同的,不管T1和T2谁先结束,隔离性主要依靠锁实现。

持久性(Durability):一旦事务提交,不管发生什么(崩溃或者出错),数据要保存在数据库中。

一致性(Consistency ):只有合法的数据(依照关系约束和函数约束)才能写入数据库。

  • BASE

基本可用(Basically Available)系统在出现不可预知故障时,允许损失部分可用性,如响应时间上的损失或功能上的损失。

Soft state(弱状态)软状态,指允许系统中的二数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性,即允许系统在不同节点的数据副本之间进行数据同步的过程存在延时。

Eventually consistent(最终一致性)指系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态,因此最终一致性的本质是需要系统保证数据能够达到一致,而不需要实时保证系统数据的强一致性。

3、分布式一致ZooKeeper

4、CAP原理总结

在计算机科学中, CAP定理(CAP theorem), 它指出对于一个分布式计算系统来说,不可能同时满足以下三点:

  • 一致性(Consistency) (所有节点在同一时间具有相同的数据)

  • 可用性(Availability) (保证每个请求不管成功或者失败都有响应)

  • 分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)

CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。

因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三大类:

  • CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。(没有冗余备份,不能保证单机出问题继续运作

  • CP - 满足一致性,分区容忍性的系统,通常性能不是特别高。(保持一致性比须等冗余同步完成

  • AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。(不等数据一致性,直接访问不一致性的数据,由业务进行同步,达到最终的一致性

参考

https://mwhittaker.github.io/blog/anillustratedproofofthe_cap_theorem/

https://www.runoob.com/mongodb/nosql.html

用户头像

周冬辉

关注

还未添加个人签名 2020.04.14 加入

还未添加个人简介

评论

发布
暂无评论
分布式总结