课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
数据库开发架构是程序员在学习后端编程开发的时候需要重点掌握的一个编程知识,下面我们就一起来了解一下,mysql数据库主从同步的概念与应用。
1、什么是主从
其实主从这个概念非常简单
主机就是我们平常主要用来读写的服务,我们称之为master(主人、主宰)
从机就是主机进行的一个扩展,他一般不会主动用来读写,我们称之为slave([sleɪv]奴隶)
从机上的数据是从主机通过某种形式获取到而写入从机的,理论上从机并不能直接获取到来自外界的数据。
2、为什么要搞主从呢?
早搞主从是为了主备,也就是master是主机,salve是备机。因为早期软件的数据量与并发性并不高。主机完全支撑得住日常的使用。
所以通过主备的形式,保证db高可用,当检测到主db挂掉的时候,自动将服务的数据源切换到备db。
随着业务的发展,大家发现单master往往很难支撑的住业务的需要,因此对传统的主从开始进行了扩展。
(1)一主一从
从机不仅仅作为备机,而且还作为读数据源的db,业务服务写数据时,写到主机,读数据时,从从机上读。从而降低主机的压力
(2)一主多从
主写从读之后,我们发现单一的从节点在支撑业务查询数据时,还是存在性能瓶颈,因此将从机进行水平扩展,实现多从。
(3)双M
从机的身份提升为主机,两个主机互为对方的从机,共同分担读写压力
(4)联级复制
联级复制和一主多从比较相像,区别是次级别的从机的数据来源是来自于从机而不再是主机。这样主要是考虑到从机变多后,同步数据对主机性能的影响
(5)多主一从
多主应用在写多读少的场景,通过多主降低主机的压力,同时通过1个从机,来完成读操作和数据备份的能力。
3、如何实现主从同步呢?
大家不要把主从同步想的太难以理解,其实非常简单,对于一个软件工程师来说,你只要会写代码,能从主库中查出数据,然后连接到备库里,将数据写进去,就可以了。这就是易于理解的主从同步。
但是这种太粗糙了,性能也不好,所以mysql自身就已经提供了一套完整的主从同步机制,保证数据可以高效的从主机到从机的同步过去。
除去mysql自身的主从同步,业界还有一些通过组件来支持的,比如阿里的canal,这个主要是为了更灵活的进行数据同步,比如对同步数据进行解析,同步的从机可以不再使用mysql,而是其他存储服务等。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。