gpt4 book ai didi

marklogic - Marklogic 如何做到一致性和可用性?

转载 作者:太空狗 更新时间:2023-10-30 01:50:06 29 4
gpt4 key购买 nike

CAP 定理对我来说似乎合乎逻辑。我的理解是:

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

但 Marklogic 怎么能两者兼得呢。 ACID和分布式系统没有延迟?
那么是否可以在同一个数据库上同时拥有 BASE 和 ACID 属性呢?
那么CAP定理错了吗?

最佳答案

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

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

在集群之间,MarkLogic 有很多选项可以让您接近绝对一致的程度。我们使用异步复制在集群之间移动数据,因此如果集群之间存在网络分区,则这些集群之间的数据可能不一致。您可以控制滞后限制的时长,以便对其进行调整,如果您需要集群之间的绝对一致性,我们也有办法实现。

底线是:

  • 客户最关心的是他们的数据库或数据服务保持可用,而不是任何特定主机保持可用,因此我们关注系统的可用性,并且可以在不违反 CAP 定理的情况下提供可用性。
  • 可以调整多集群 MarkLogic 部署,以便在网络分区时为您提供一致性和可用性的适当平衡。

希望对您有所帮助。

关于marklogic - Marklogic 如何做到一致性和可用性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31876966/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com