NoSQL CAP定理 – 可用性和分区容差

前端之家收集整理的这篇文章主要介绍了NoSQL CAP定理 – 可用性和分区容差前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我尝试理解CAP中的“可用性”(A)和“分区容限”(P)时,我发现很难理解各种文章的解释。

我感到A和P可以在一起(我知道这不是这样,这就是为什么我不明白!)。

简单来说,什么是A和P,它们之间的区别?

一致性意味着数据在集群中是相同的,因此您可以读取或写入任何节点并获取相同的数据。

可用性意味着即使群集中的节点出现故障也能访问群集。

分区容差意味着即使两个节点之间存在“分区”(通信中断)(两个节点都已启动,但不能通信),集群仍将继续运行。

为了获得可用性和分区容限,您必须放弃一致性。考虑在主 – 主设置中是否有两个节点X和Y。现在,在X和Y的网络通信之间有一个中断,因此他们不能同步更新。此时,您可以:

A)允许节点失去同步(放弃一致性),或

B)考虑集群是“down”(放弃可用性)

所有可用的组合是:

> CA – 数据在所有节点之间是一致的 – 只要所有节点都在线 – 并且您可以从任何节点读取/写入,并确保数据是相同的,但是如果您在节点之间开发分区,数据将不同步(并且一旦分区被解决,将不会重新同步)。
> CP – 数据在所有节点之间一致,并且通过在节点故障时变为不可用来维持分区容限(防止数据不同步)。
> AP – 节点保持联机,即使他们不能彼此通信,并且将在分区解决后重新同步数据,但不能保证所有节点将具有相同的数据(在分区期间或之后)

你应该注意到CA systems don’t practically exist(即使一些系统声称是这样)。

原文链接:https://www.f2er.com/nosql/203470.html

猜你在找的NoSQL相关文章