当前位置:   article > 正文

binlog和redolog的区别_redolog和binlog的区别

redolog和binlog的区别

相同点

binlog和redolog都是用来记录数据库数据变更操作的日志。

不同点

binlog

其中binlog主要用来做数据备份、数据恢复和数据同步。

大部分人的首次接触是主从数据同步的场景里面。master节点的数据变更会写入到binlog中,然后再把binlog的数据通过网络传输给slave节点,实现数据同步。

redolog

而redolog主要是在MySQL数据库事务的ACID特性里面,用来保证数据的持久化特性。

其他作用(数据库崩溃时)

数据库崩溃时,可以通过RedoLog来恢复未完成的数据,保证数据的完整性。

还可以通过合理的配置Redo Log的大小和数量,优化MySQL的性能。

问题回答

binlog和redolog的区别其实有很多,可以简单总结3个点:

  1. 使用场景不同

binlog主要是用来进行数据备份、数据恢复和主从集群的数据同步。RedoLog主要用来实现MySQL数据库的事务恢复和保证事务的ACID特性。

当数据库出现崩溃时,Redo Log可以把未提交的事务回滚,把已提交的事务进行持久化。从而保证数据的一致性和持久化。

  1. 记录信息不同

binlog是记录数据库的逻辑变化。它提供了三种日志格式,分别是statement、row以及mixed。

redolog记录的是物理变化,也就是数据页的变化结果。

  1. 记录的时机不同

binlog是在执行SQL语句的时候,在主线程生成逻辑变化,写入到磁盘里面。所以它是语句级别的记录方式。

RedoLog是在InnoDB存储引擎层面的操作,它是在MySQL后台线程中去生成,并且写入到磁盘中的。所以它是事务级别的记录方式。一个事务操作完成之后才会被写入到redo log里面。

参考资料【Java面试】Mic老师面试题满分解析,binlog和redolog有什么区别?

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/776556
推荐阅读
相关标签
  

闽ICP备14008679号