数据库读写分离笔记

1.如何实现读写分离

搞一个主库用来写,挂多个从库,从库用来读,然后主库每次把记录更新到从库。

2.读写分离的原理

主库每次会写一个binlog日志,然后从库链接到主库以后,从库会有一个IO线程,将binlog日志拷贝到本地,写入到一个中继日志,然后从库中会有一个SQL线程去执行日志里面的内容,在本地执行一遍SQL,这样就保证了自己跟主库数据一致。但是整个过程是串行化的,所以主库同步到从库是存在延迟的。
在这里插入图片描述

3.mysql读写分离同步数据丢失问题(半同步复制semi-sync复制)

主库同步到副库过程中,当主库写完以后再写入binlog日志时,副库还没有同步,主库宕机了,就会导致数据丢失,解决的办法是使用半同步复制,所谓半同步复制就是指主库写入binlog日志以后,就会强制此时立刻同步给副库,当副库写入到自己本地的relaylog后,接着会返回给主库一个ack,主库接收到这个ack之后才会认为写操作完成了。

4.mysql读写分离数据延时问题(并行复制)

所谓并行复制,指的是从库开启多个线程,并行读取relay log中不同库的日志,然后并行重放不同库的日志,这是库级别的并行。
show statu, Seconds_Behind_Master,你可以看到从库复制主库的数据落后了几ms,当落后过多时,可以把主库拆成多个主库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值