mysql和redis复制区别_mysql和redis的主从复制原理

2ff34e647e2e3cdfd8dca593e17d9b0a.png

最近工作需要,做一个rdf数据库的主从集群,由于rdf数据库本身不支持主从复制功能,所以考虑从上一层应用实现主从复制。并参考mysql和redis的主从复制实现原理,实现较为简单的主从复制功能。本文分别介绍mysql和redis的主从复制。

1.mysql主从复制

mysql的二进制日志文件,mysql通过该文件进行复制,有两种形式复制,一种基于语句复制,另一种基于行复制。基于语句复制方式,是日志文件保存数据库的执行语句,这种方式存在一些缺陷,如:不能确保所有语句都能正确执行,某些命令语句random()、date()等;update或create语句修改大量数据时,导致锁的范围和时间较长;在mysql5.1之后,不在再提供这种复制方式支持,采用行复制方式。基于行复制方式,是日志文件保存数据库的修改行数据,这种方式较上一种方式的优点相对基于语句复制的方式主要有锁范围较小和确保所有语句能够正确执行,缺点主要有数据恢复时间较长和日志保存数据量大。

下面介绍主从复制过程简单介绍:

1.主库的事务提交后,完成数据更新前,把更新改记录写入到二进制日志文件。

2.备库讲主库中的二进制日志数据复制到中继日志。备份数据库启动一个I/O线程与主库建立连接,读取主库中二进制日志数据。

3.备库读取中继日志,将数据重放到备库中。重放时采用单线程sql从中继日志读取事件,重放读取事件更新数据到备库,完成数据重放,最终使其与主库中数据保持一致。

clipboard.png

redis待续……

参考资料:

《高性能mysql》

《redis的设计与实现》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值