gpt4 book ai didi

distributed-computing - 为什么 CAP 定理中的 RDBMS 分区容错性不强,为什么可用?

转载 作者:行者123 更新时间:2023-12-03 12:15:34 25 4
gpt4 key购买 nike

我不明白 RDBMS 是 CAP 定理中的 CA 的两点:

1) 它说 RDBMS 是 不是 分区容错 但是 RDBMS 怎么样分区比其他技术(如 MongoDB 或 Cassandra)更容错?是否有 RDBMS 设置我们放弃 CA 使其成为 AP 或 CP?

2) 如何获得 CAP?是通过主从设置吗?就像当主人死了一样,奴隶接管写入?

我是 DB 架构和 CAP 定理的新手,所以请耐心等待。

最佳答案

现在很多数据库实际上有不同的配置,根据您设置的设置,它可以是CA、CP、AP等,但不能同时实现所有三个。一些数据库实际上努力支持所有这三个,但仍然以某种方式优先考虑它们。

例如,根据配置,MySQL 可以是 CP 和 CA。默认情况下,它是 CA,因为它遵循主从模式,将数据复制到从站。如果一组从站失去与主站的连接并因此决定选举一个新的主站,用他们自己的一组从站创建两个主站,则会牺牲分区容错性。

但是,MySQL 还有另一种配置,即集群配置。它优先考虑 CP 而不是可用性,例如。如果没有足够的事件节点来提供所有数据,集群将关闭。

MySQL 可能有更多配置使其满足其他 CAP 定理组合,但总的来说,我只想说这取决于您的系统需要什么。有时数据库更适合一种配置而不是另一种配置,因此最好查看使用某种配置时可能出现的问题类型。

至于实现 CAP 定理,我建议进一步研究不同的数据库以及它们如何实现 CAP 定理的优先级。实现它们的方法太多了,例如。一般CA系统采用主从模式,AP系统采用hash ring等。

关于distributed-computing - 为什么 CAP 定理中的 RDBMS 分区容错性不强,为什么可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36404765/

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