一、分布式数据库中CAP
1.强一致性(Consistency)
2.可用性(Availability)
3.分区容错性(Partition tolerance)
CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性、可用性和分区容错性三个需求(nosql三个有且只能满足两个)
4.因此,CAP原理将NOSQL数据库分成了满足以下原则的三大类:
(1)CA -单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
注:传统Oracle数据库
(2)CP -满足一致性、分区容错性的系统,通常性能不是特别高。
注:大多数网站架构的选择
(3)AP -满足可用性、分区容错性的系统,通常可能对一致性要求低一些。
注:redis、mongodb
5.cap图
二、BASE
1.BASE由三个术语缩写:
(1)基本可用(Basically Available)
(2)软状态(Soft state)
(3)最终一直(Eventually Consistent)
其思想为:通过系统放松对某一时刻数据一致性的要求来换取系统整体伸缩性和性能上的改观。
三、分布式系统
由多台计算机和通信的软件组件通过计算机网络连接(本地网络或广域网)组成。分布式系统是建立在网络之上的软件系统。正式因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。分布式系统可以应用在不同的平台上。如:PC、工作站、局域网和广域网上等。
1.分布式:不同的多台服务器上面部署不同的服务模块(工程),他们之间通过 Rpc 或 Rmi 之间通信和调用,对外提供服务和组内协作。
2.集群: 不同的多台服务器上面部署相同的服务模块,通过分布式调度软件进行统一的调度,对外提供服务和访问