有一个 CAP 定理:R + W > N。假设我有 W=1(主),R = 6(从),N = 6,所以一个从可以读写。正如定理所说,我们可以确保强一致性(我们总是会得到最新的值)。
我读到数据存储可以检查版本并返回最新版本。但实际上使用 MySQL 是真的吗?或者,也许我们需要使用任何类型的中间人?CAP 定理如何应用于 MySQL?
有一个 CAP 定理:R + W > N。假设我有 W=1(主),R = 6(从),N = 6,所以一个从可以读写。正如定理所说,我们可以确保强一致性(我们总是会得到最新的值)。
我读到数据存储可以检查版本并返回最新版本。但实际上使用 MySQL 是真的吗?或者,也许我们需要使用任何类型的中间人?CAP 定理如何应用于 MySQL?
您提出的不是真正的 CAP 定理,除非集群完全是一个无共享架构。请注意 CAP Theorem 来自我的旧帖子
Jan 01, 2013
:Consistency in ACID and CAP theorem,它们是一样的吗?帽
每个节点都将拥有完整数据集的完整副本。给定的数据库集群需要支持最终一致性,即在集群范围内具有 ACID 合规性支持。
您的实际问题
在CAP Theorem上运行的 MySQL 设置如下:
你最好的中间人???如果你写的数据很关键,需要可用,从你写的 Master 那里读取数据。在上述任何集群设置中,任何节点都可以是主节点。如果数据被写入一个 Master,它们都应该拥有它并准备好被读回,前提是集群中的所有节点都在同一个给定事务上运行 COMMIT。
如果您有从属连接到这些主控,则每个从属必须等待其主控提交,以便数据被复制并在从属上可见。