35丨数据库主从同步的作用是什么,如何解决数据不一致问题?
该思维导图由 AI 生成,仅供参考
为什么需要主从同步
- 深入了解
- 翻译
- 解释
- 总结
数据库主从同步是一种重要的架构设计,可以提高数据库的并发处理能力、实现读写分离、数据备份和提高高可用性。主从同步的原理是基于Binlog二进制日志进行数据同步,通过主库线程和从库线程实现数据的复制和同步。然而,在主从同步过程中可能存在数据不一致性问题,需要采取相应的解决方案。解决数据不一致性问题的方式包括异步复制、半同步复制等不同的复制方式,它们在数据一致性和效率方面有不同的权衡。因此,在实际应用中需要根据业务需求和成本来选择合适的主从同步策略。 MySQL Group Replication(MGR)是MySQL在5.7.17版本中推出的一种新的数据复制技术,基于Paxos协议的状态机复制。相比于异步复制和半同步复制,MGR通过一致性协议层实现了数据的强一致性,弥补了之前复制模式的不足。MGR将MySQL带入了数据强一致性的时代,是一个划时代的创新。 在主从架构的配置中,可以通过自己编写程序或使用第三方中间件来实现读写分离策略。自己编写程序可以更加自主地控制查询在从库或主库上执行,减少了中间件层的性能损耗。而使用中间件则具有功能强大、使用简单的优势,但会增加一定的性能损耗和使用成本。同时,开源工具如MaxScale和MHA也可以作为数据库代理和主从切换工具,实现读写分离和高可用架构。 综上所述,本文介绍了数据库主从同步的重要性、数据不一致性问题及解决方案,以及MGR技术的特点和应用,同时探讨了在主从架构配置中自行编写程序和使用中间件的优缺点。读者可以从中了解到数据库同步技术的发展趋势和应用场景,以及在实际应用中如何选择合适的主从同步策略。
《SQL 必知必会》,新⼈⾸单¥68
全部留言(13)
- 最新
- 精选
- Monday计算高可用的每年等于3652460分钟错了吧,但是最后得出的5.256分钟又是对的。 不应该是365*24*60*(1-99.999%)=525600*0.00001=5.256分钟吗?
作者回复: 对 是365*24*60*(1-99.999%)=525600*0.00001=5.256分钟
2019-09-1626 - Demon.Lee在执行读写(RW)事务的时候,需要通过一致性协议层(Consensus 层)的同意,也就是读写事务想要进行提交,必须要经过组里“大多数人”(对应 Node 节点)的同意 ----------------------------------- 老师,这里的大多数节点同意,是指主库同步的数据大多数节点都已经写入到自己的库了么,然后告知主库你可以回复客户端写入成功了,如果是这样,客户端等的时间不短吧2019-09-13212
- Pray、PF主从复制:是主数据库的数据通过二进制日志自动复制到从数据库中 读写分离:由原本一个服务器的读写请求转变为现在的主服务器处理写请求,从服务器处理读请求,减少了主服务器的压力 负载均衡:让不同的读请求按照策略均匀地分发到不同的从服务器中,让读写更加顺畅2020-06-2611
- 学渣汪在央企打怪升级看懂原理基础,最后给出的建议是自己搭配或者用开源的。但是使用起来都很困难,希望能有点讲解怎么使用开源的,和自己实现的方向2020-03-298
- humor主库有写入请求时,会有写锁,但是当主库的数据同步到从库时,从库是不是也会有写锁呢?2019-09-1618
- Geek_7d63b4mysql做主从备份,一段时间后发现从库在通信高峰期会发生一两条条数据丢失(查询不到了),主从备份是正常,怎么判断哪里出问题?2019-09-2216
- 8080重点基于paxos实现一致性没有讲到位啊 希望老师能在评论区详细解释一下2020-06-2215
- Kyle(为啥这么少评论,组复制我是真听的有点模糊,按这么说到组复制了是不是比上面两个效率更低了?然后读写事务过一致性协议,那纯写的事务呢?会不会过,如果不会过的话是否还是会有一致性问题呢2021-01-284
- Ryomamysql 的 主从 binlog 复制,是从库与主库建立了长连接么?是主库主动推给从库,还是从库定时轮询从主库取呢?2020-03-2113
- 木杉想请教一下 有没有关于 主从同步 配置方面的教程 感觉网上的教程都是乱七八糟的 希望老师可以推荐几个比较好的教程2020-03-072