首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Marklogic如何具有一致性和可用性?

Marklogic如何具有一致性和可用性?
EN

Stack Overflow用户
提问于 2015-08-07 11:45:33
回答 2查看 1.6K关注 0票数 5

CAP定理在我看来是合乎逻辑的。我了解到:

如果我在分布式系统上有一致性,我必须等待所有的事务。ACID的成本是在所有网络上复制数据的时间。

但是Marklogic是如何两者兼得的呢。无滞后的酸性和分布式系统?

那么,是否有可能在同一数据库中具有碱和酸的特性?

那么CAP定理是错误的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-07 17:40:09

CAP定理中的可用性是关于分区两边的主机,而不是整个系统。

在CAP定理中,如果网络分区的任何一方的所有主机都可以继续接受读取和更新事务,那么您是“可用的”。面对网络分区,我们的大多数客户并不关心是否所有主机都可用。他们关心的是,整个数据库在网络分区期间仍然可用。因此,如果集群已经复制或共享数据,以便在分区的两边都有足够的数据继续提供查询,并且足够聪明地知道分区的哪一边应该保持可用,哪一方应该优雅地退出,那么面对网络分区,数据库仍然可以使用,即使所有主机都没有。这就是MarkLogic在集群中所做的工作。

在集群之间,MarkLogic有许多选项来说明您想要达到何种程度的绝对一致性。我们使用异步复制在集群之间移动数据,因此如果集群之间存在网络分区,那么这些集群之间的数据可能不一致。你可以控制这个延迟限制的时间,这样你就可以调整它,如果你需要集群之间的绝对一致性,我们也有方法来达到这个目标。

底线是:

  • 客户最关心的是他们的数据库或数据服务仍然可用,而不是任何特定的主机仍然可用,所以我们关注系统的可用性,并且可以在不违反CAP定理的情况下提供这些信息。
  • 可以对多集群MarkLogic部署进行调优,以便在网络分区的情况下使您在一致性和可用性方面保持正确的平衡。

希望这能有所帮助。

票数 13
EN

Stack Overflow用户

发布于 2015-08-07 15:52:59

CAP定理没有错,只是过时了。这是作者的更新:12年后的第一章:规则是如何改变的?

MarkLogic通过MVCC支持酸性特性。如果愿意,可以将其配置为使用基本属性进行行为。据我所知,关键是为您的生产需求设计和优化。MarkLogic有许多可供使用的复制功能,随着客户解决部署全球分布式集群的实际问题,我们将不断地添加到该产品组合中。

你读过在MarkLogic服务器内部吗?这份白皮书很好地解释了MarkLogic是如何解决这些挑战的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31876966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档