1.CAP定理
CAP定理(布鲁尔定理)
该定理规定,在设计一个分布式环境中的应用程序时,存在三种基本需求,分别是
一致性,
可用性,
分区容错性。
一致性:意味着在修改数据的任何操作被执行之后,数据仍旧保持一致,并且所有访问该应用程序的用户
或客户端都要得到相同的更新后的数据。
可用性:意味着系统总是保持可用。
分区容错性:即使系统被划分为无法彼此通信的机组服务器,也要持续第正常运行。
CAP定理宣称:在任何时间点,一个分布式系统都只能满足上面三个保证中的两个。
BASE:
BA:基本可用,根据CAP定理,系统是可用的。
S:软状态:即便没有为系统提供任何输入,其状态也将随时间而变化。这符合最终一致性。
E:最终一致性:从长远来看,系统将达到一致性,即便这段时间内没有任何输入被发送到系统也会如此。
NRW:是用于描述最终一致性模型是如何在所有nosql数据库中实现可能会因不同的nosql数据库而不同。
N:是数据库已经保存的数据副本数量。
R:是在返回一个读取请求的输出之前,一个应用程序需要涉及的副本数量。
W:是在一个写操作被标记为成功之前需要对其进行写入的数据副本数量。
可以同时在读和写操作层面实现一致性。
2.总结
理解CAP定理对于数据库选型,了解NOSQL分布式系统非常有用。