NoSQL CAP定理 – 可用性和分区容差
当我尝试理解CAP中的“可用性”(A)和“分区容限”(P)时,我发现很难理解各种文章的解释。
我感到A和P可以在一起(我知道这不是这样,这就是为什么我不明白!)。 简单来说,什么是A和P,它们之间的区别?
一致性意味着数据在集群中是相同的,因此您可以读取或写入任何节点并获取相同的数据。
可用性意味着即使群集中的节点出现故障也能访问群集。 分区容差意味着即使两个节点之间存在“分区”(通信中断)(两个节点都已启动,但不能通信),集群仍将继续运行。 为了获得可用性和分区容限,您必须放弃一致性。考虑在主 – 主设置中是否有两个节点X和Y。现在,在X和Y的网络通信之间有一个中断,因此他们不能同步更新。此时,您可以: A)允许节点失去同步(放弃一致性),或 B)考虑集群是“down”(放弃可用性) 所有可用的组合是: > CA – 数据在所有节点之间是一致的 – 只要所有节点都在线 – 并且您可以从任何节点读取/写入,并确保数据是相同的,但是如果您在节点之间开发分区,数据将不同步(并且一旦分区被解决,将不会重新同步)。 你应该注意到CA systems don’t practically exist(即使一些系统声称是这样)。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Your local changes to the following files wou
- 任何人使用NoSQL数据库进行医疗记录存储?
- Objective-C,Storyboard:instantiateViewContro
- react系列-bind this
- 可以/应该任务包装在一个C#5.0中,等待TResult中是
- c# – .NET Core中的Crossgen编译
- .net – XML注释中的filterpriority标签是什么?
- Magento 1 – 通过布局更新xml代码将内联javascr
- postgresql 创建表分区
- ruby-on-rails – 位于英雄的bitbucket私人存储库