首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mySQL复制具有即时数据一致性吗?

mySQL复制具有即时数据一致性吗?
EN

Stack Overflow用户
提问于 2014-09-05 17:20:54
回答 1查看 11K关注 0票数 32

我正在考虑一个针对当前项目的noSQL解决方案,但对于其中许多数据库中的“最终一致性”子句,我犹豫不决。最终一致性是否与处理复制滞后的mySQL数据库不同?我过去在滞后复制中使用的一个解决方案是,当需要立即保持数据一致性时,从主服务器读取数据。

然而,我对为什么关系数据库声称具有很强的数据一致性感到困惑。我想我应该使用交易,这将给我很强的一致性。那么,假设mySQL复制可能滞后,编写应用程序是一种好做法吗?

EN

回答 1

Stack Overflow用户

发布于 2021-09-10 17:44:31

为了完整起见,我也将用CAP定理的观点回答这个问题。Oh和酸的浓度与CAP的浓度不一样。

根据CAP定理中的一致性,即每个读取都接收最近的写入或错误(这称为线性化,即强一致性,即原子一致性),MySQL在默认情况下并不强一致,因为它使用异步复制。因此,有一段时间,组中的一些节点进行最近的写入,而一些节点仍然没有写入。

另外,如果您的MySQL版本是8.0.14或更高版本,那么group_replication_consistency是可配置的,但它的默认值仍然是最终的(这是不可配置的,是以前的MySQL版本中的默认值,我相信大多数应用程序都是在这个版本上运行)。详细信息:https://dev.mysql.com/doc/refman/8.0/en/group-replication-configuring-consistency-guarantees.html

此外,如果您使用的是MySQL集群(这是一种不同的产品/技术,我觉得他们把它称为集群),MySQL文档本身就说它只能保证最终的一致性。详细信息:https://dev.mysql.com/doc/mysql-cluster-manager/1.4/en/mcm-eventual-consistency.html

因此,我们可以安全地说,这是一个最终一致的系统。并且每个异步复制的系统最终在定义上是一致的。

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

https://stackoverflow.com/questions/25690976

复制
相关文章

相似问题

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