您的位置:首页 > 数据库

关系型数据库利用主从复制实现读写分离

2017-04-07 18:13 274 查看
目前,大部分的主流关系型数据库都提供了主从热备功能,通过配置两台(或多台)数据库的主从关系,可以将一台数据库服务器的数据更新同步到另一台服务器上。网站可以利用数据库的这一功能,实现数据库的读写分离,从而改善数据库的负载压力。
流程结构图:

三个步骤:1、 Master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);
                2、Slave将Master的二进制日志事件(binary log events)拷贝到它的中继日志(relay log);PS:从图中可以看出,Slave服务器中有一个I/O线程(I/O Thread)在不停地监听Master的二进制日志(Binary Log)是否有更新:如果没有它会睡眠等待Master产生新的日志事件;如果有新的日志事件(Log Events),则会将其拷贝至Slave服务器中的中继日志(Relay Log)。
                3、Slave重做中继日志(Relay Log)中的事件,将Master上的改变反映到它自己的数据库中。PS:从图中可以看出,Slave服务器中有一个SQL线程(SQL Thread)从中继日志读取事件,并重做其中的事件从而更新Slave的数据,使其与Master中的数据一致。只要该线程与I/O线程保持一致,中继日志通常会位于OS的缓存中,所以中继日志的开销很小。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息