前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Mysql 如何保证数据的一致性(可以借鉴)

Mysql 如何保证数据的一致性(可以借鉴)

作者头像
早起的鸟儿有虫吃
发布于 2018-04-12 09:04:56
发布于 2018-04-12 09:04:56
1.4K0
举报
文章被收录于专栏:算法之美算法之美

Mysql cluster数据节点组内主从同步采用的是同步复制,

来保证组内节点数据的一致性 原理类似tcp的四次握手

一般通过两阶段提交 (why)协议来实现,一般工作过程如下:

a)Master执行提交语句时,事务被发送到slave,slave开始准备事务的提交。

b)每个slave都要准备事务,然后向master发送OK(或ABORT)消息,表明事务已经准备好(或者无法准备该事务)。

c)Master等待所有Slave发送OK或ABORT消息

如果Master收到所有 Slave的OK消息,它就会向所有Slave发送提交消息,告诉Slave提交该事务;

如果Master收到来自任何一个Slave的ABORT消息,它就向所有 Slave发送ABORT消息,告诉Slave去中止事务。

e)每个Slave等待来自Master的OK或ABORT消息。

如果Slave收到提交请求,它们就会提交事务,并向Master发送事务已提交 的确认;

如果Slave收到取消请求,它们就会撤销所有改变并释放所占有的资源,从而中止事务,然后向Masterv送事务已中止的确认。

f) 当Master收到来自所有Slave的确认后,就会报告该事务被提交(或中止),然后继续进行下一个事务处理。

由于同步复制一共需要4次消息传递,

故mysql cluster的数据更新速度比单机mysql要慢。

所以mysql cluster要求运行在千兆以上的局域网内,节

点可以采用双网卡,节点组之间采用直连方式。

我的理解是两阶段避免主或者备在确认好的情况下又挂了。

如果一个 slave挂了该怎么办呢?请一起来讨论

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Offer多多 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MySQL数据库,浅谈MySQL集群原理
MySQL集群是一个无共享的(shared-nothing)、分布式节点架构的存储方案,其目的是提供容错性和高性能。它采用了 NDB Cluster 存储引擎,允许在 1 个群集中运行多个 MySQL 服务器。初步掌握MySQL集群原理是我们学习MySQL集群要迈出的第一步。
用户1289394
2021/03/29
3.3K0
mysql优化大全
MySQL 的慢查询日志记录的内容是:在 MySQL 中响应时间超过参数 long_query_time(单位秒,默认值 10)设置的值并且扫描记录数不小于 min_examined_row_limit(默认值0)的语句。
opencode
2022/12/26
5820
mysql优化大全
MySQL主从同步如何保证数据一致性?
然而,现在的面试都不问 MySQL 主从同步原理了,而是开始问主从同步怎么保证数据一致性问题了。
磊哥
2024/08/20
4700
MySQL是如何保证不丢数据的(二)
上篇文章我们聊了单机模式下,MySQL是如何保证数据一致性的,但是在实际的生产环境中,很少采用单机模式。现在所有的集群架构都是从MySQL的主从复制演变过来的。MySQL的主从复制是通过将主库的binlog发送至从库,从库重新提交主库的变更来实现主从数据的一致性。MySQL的主从复制主要分为三种:异步复制、半同步复制、组复制(MGR)。
MySQL数据库技术栈
2020/08/05
2.5K0
MySQL是如何保证不丢数据的(二)
分布式系统常见事务处理机制
为保障系统的可用性、可靠性以及性能,在分布式系统中,往往会设置数据冗余,即对数据进行复制。举例来说,当一个数据库的副本被破环以后,那么系统只需要转换到其他数据副本就能继续运行下去。另外一个例子,当访问单一服务器管理的数据的进程数不断增加时,系统就需要对服务器的数量进行扩充,此时,对服务器进行复制,随后让它们分担工作负荷,就可以提高性能。但同时,如何保障多个数据节点之间数据的一致以及如何处理分布式事务,将成为为一个复杂的话题。本文将介绍常用的事务处理机制。 CAP 定理 CAP 定理(也称为 Brewer 定
用户1263954
2018/01/30
7250
MongoDB与MySQL关于写确认的异同
之前几周有幸被京东智联云的市场同事推荐参与麦思博的一个视频课程的录制,题目是与MongoDB相关的内容。在ppt里也写到了推荐学员可以对比参照其他数据的原理和特点,来学习和理解MongoDB的一些原理和特点,而自己最近在学习的时候,正好发现了一处MongoDB与MySQL设计非常相似的地方,即今天要介绍的写确认相关的内容。
云计算与数据库
2020/05/06
1.5K0
MongoDB与MySQL关于写确认的异同
Mysql半同步复制模式说明及配置示例 - 运维小结
MySQL主从复制包括异步模式、半同步模式、GTID模式以及多源复制模式,默认是异步模式 (如之前详细介绍的mysql主从复制)。所谓异步模式指的是MySQL 主服务器上I/O thread 线程将二进制日志写入binlog文件之后就返回客户端结果,不会考虑二进制日志是否完整传输到从服务器以及是否完整存放到从服务器上的relay日志中,这种模式一旦主服务(器)宕机,数据就可能会发生丢失。
洗尽了浮华
2019/05/25
2.8K0
MySQL的异步复制、全同步复制与半同步复制
今天主要聊一下MySQL的异步复制、全同步复制与半同步复制,目前我们生产库实际上用的就是异步复制了,后面再转成半同步复制。
木禾wen
2019/11/27
9.6K0
MySQL的异步复制、全同步复制与半同步复制
分布式系统的一致性协议之 2PC 和 3PC
在分布式系统领域,有一个理论,对于分布式系统的设计影响非常大,那就是 CAP 理论,即对于一个分布式系统而言,它是无法同时满足 Consistency(强一致性)、Availability(可用性) 和 Partition tolerance(分区容忍性) 这三个条件的,最多只能满足其中两个。但在实际中,由于网络环境是不可信的,所以分区容忍性几乎是必不可选的,设计者基本就是在一致性和可用性之间做选择,当然大部分情况下,大家都会选择牺牲一部分的一致性来保证可用性(可用性较差的系统非常影响用户体验的,但是对另一些场景,比如支付场景,强一致性是必须要满足)。但是分布式系统又无法彻底放弃一致性(Consistency),如果真的放弃一致性,那么就说明这个系统中的数据根本不可信,数据也就没有意义,那么这个系统也就没有任何价值可言。
sunsky
2020/08/20
8300
详解分布式一致性机制
分布式中一致性是非常重要的,分为弱一致性和强一致性。现在主流的一致性协议一般都选择的是弱一致性的特殊版本:最终一致性。下面就从分布式系统的基本原则讲起,再整理一些遵循这些原则的协议或者机制,争取通俗易懂。但是要真正实施起来把这些协议落地,可不是一篇文章能说清楚的,有太多的细节,要自己去看论文呐(顺着维基百科找就行了)。
架构之家
2022/07/12
4570
详解分布式一致性机制
MySQL 数据库的高可用性分析
腾讯云数据库团队
2016/11/07
13K1
MySQL 数据库的高可用性分析
分布式一致性机制
分布式中一致性是非常重要的,分为弱一致性和强一致性。现在主流的一致性协议一般都选择的是弱一致性的特殊版本:最终一致性。下面就从分布式系统的基本原则讲起,再整理一些遵循这些原则的协议或者机制,争取通俗易懂。但是要真正实施起来把这些协议落地,可不是一篇文章能说清楚的,有太多的细节,要自己去看论文呐(顺着维基百科找就行了)。
用户4283147
2022/10/27
3070
分布式一致性机制
mysql 半同步复制
转载:https://www.cnblogs.com/zero-gg/p/9057092.html
用户5760343
2019/11/12
2.1K0
MySQL的半同步是什么?
年后在进行腾讯二面的时候,写完算法的后问的第一个问题就是,MySQL的半同步是什么?我当时直接懵了,我以为是问的MySQL的两阶段提交的问题呢?结果确认了一下后不是两阶段提交,然后面试官看我连问的是啥都不知道,就直接跳过这个问题,直接聊下一个问题了。所以这次总结一下这部分的知识内容,文字内容比较多,可能会有些枯燥,但对于这方面感兴趣的人来说还是比较有意思的。
纪莫
2021/04/23
7690
分布式一致性机制整理
分布式中一致性是非常重要的,分为弱一致性和强一致性。现在主流的一致性协议一般都选择的是弱一致性的特殊版本:最终一致性。下面就从分布式系统的基本原则讲起,再整理一些遵循这些原则的协议或者机制,争取通俗易懂。但是要真正实施起来把这些协议落地,可不是一片文章能说清楚的,有太多的细节,要自己去看论文呐(顺着维基百科找就行了)。
用户1516716
2020/06/12
7890
分布式一致性机制整理
MySQL主从复制 —— 作用、原理、数据一致性,异步复制、半同步复制、组复制
二进制日志(BINLOG)记录了所有的 DDL(数据定义语言,创建库、表)语句和 DML(数据操纵语言,增删改)语句,但不包括数据查询(SELECT、SHOW)语句。
寻求出路的程序媛
2025/02/06
6971
MySQL主从复制 —— 作用、原理、数据一致性,异步复制、半同步复制、组复制
MySQL崩溃后的数据一致性
谁也不能保证计算机系统能够永远无故障的执行下去。网络波动、磁盘损坏等现网高频故障,机房掉电、服务器硬件失效等低频却又致命的故障,时刻考验着我们的系统。
lakezhong
2020/02/07
2.8K0
MySQL崩溃后的数据一致性
MySQL 复制原理详解
腾讯云开发者社区
2017/06/15
3.1K0
MySQL 复制原理详解
运维锅总详解数据一致性
本文首先对数据一致性进行简要说明,然后画图分析展示9种数据一致性协议的工作流程,最后给出实现这9种协议的例子。希望对您理解数据一致性有所帮助!
锅总
2024/07/11
1700
运维锅总详解数据一致性
大厂都在用的MySQL主从复制、读写分离及高可用方案
根据云厂商Benchmark结果,4核8G机器运行 MySQL 5.7 时,可支撑TPS 500,QPS 10000。 但随着数据量的增大,读写并发的增加,系统可用性要求的提升,单机 MySQL 出现危机:
JavaEdge
2022/11/30
1.4K0
大厂都在用的MySQL主从复制、读写分离及高可用方案
相关推荐
MySQL数据库,浅谈MySQL集群原理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档