gpt4 book ai didi

rdbms - 为什么 RDBMS 被认为适用于 CAP 定理 (CA)

转载 作者:行者123 更新时间:2023-12-03 23:58:10 27 4
gpt4 key购买 nike

如果我正确理解了 CAP 定理,可用性意味着即使节点出现故障,集群也会继续运行。

我见过很多人(http://blog.nahurst.com/tag/guide)将RDBMS列为CA,但我不明白RBDMS是如何可用的,好像一个节点宕机了,集群必须宕机才能保持一致性。

我对此唯一可能的答案是大多数 RDBMS 都是单个节点,因此没有“非故障”节点。但是,这似乎是一个技术问题,而不是真正的“可用性”,也绝对不是高可用性。

谢谢你。

最佳答案

首先,让我澄清一下,RDBMS 中的一致性不同于分布式系统中的一致性。 RDBMS(单一系统)将一致性应用于事务一致性,而在分布式系统中,一致性意味着系统中任何地方的 View (从任何节点读取)都是一致的。因此,不能就 CAP 定理讨论 RDMBS 单节点。这就像将苹果与橙子进行比较。

可以将具有主从的 RDBMS 与分布式系统进行比较。这里 RDBMS 可以配置为 CA/CP 或 AP。例如,MySQL 提供了一种配置系统的方法,即如果出现仲裁丢失(没有足够的辅助节点可用于提交日志复制),则集群不可用(CP 系统)。 MySQL 还提供了一种配置,允许集群在 master 可用(CA 系统)时运行,但可能会丢失数据。 SQL Server AlwaysOn 是一个 AP 系统,因为提交日志复制是异步的(即使在同步副本上)。

因此,RDBMS 可以是分布式世界中的任何 CA、CP 或 AP。

关于rdbms - 为什么 RDBMS 被认为适用于 CAP 定理 (CA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29663645/

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