undolog redolog binlog

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了undolog redolog binlog相关的知识,希望对你有一定的参考价值。

redo和binlog区别:

1、首先2者都是记录数据的改变,不同的是,binlog是记录所有数据的改变信息,而innodb的redo log只是记录所有innodb表数据的变化。

2、binlog是记录已经提交完毕之后的dml以及ddl sql语句,而innodb redo log是正在执行中的dml以及ddl语句

3、binlog可以作为恢复数据使用 redo log可以作为异常down机或者介质故障后的数据恢复使用

4、在db文件目录下,也分属于不通的日志文件中。


undo log 实现原子性和持久化的事务的简化过程

假设有A、B两个数据,值分别为1,2。

A.事务开始.

B.记录A=1到undolog.

C.修改A=3.

D.记录B=2到undolog.

E.修改B=4.

F.将undolog写到磁盘。

G.将数据写到磁盘。

H.事务提交



Undo+Redo

事务的简化过程

假设有A、B两个数据,值分别为1,2.

A.事务开始.

B.记录A=1到undolog.

C.修改A=3.

D.记录A=3到redolog.

E.记录B=2到undolog.

F.修改B=4.

G.记录B=4到redolog.

H.将redolog写入磁盘。

I.事务提交


Undo+Redo

事务的特点

A.为了保证持久性,必须在事务提交前将RedoLog持久化。

B.数据不需要在事务提交前写入磁盘,而是缓存在内存中。

C.RedoLog保证事务的持久性。

D.UndoLog保证事务的原子性。

E.有一个隐含的特点,数据必须要晚于redolog写入持久存



本文出自 “饿狼的传说” 博客,请务必保留此出处http://9548010.blog.51cto.com/9538010/1878660

以上是关于undolog redolog binlog的主要内容,如果未能解决你的问题,请参考以下文章

undolog实现事务原子性,redolog实现事务的持久性

mysql事务-innodb中的undolog 详解

MySQL进阶-10深入理解redolog,undolog和binlog的底层原理

MySQL为什么需要redolog和undolog?从数据页刷盘的四种策略考虑

MySQL为什么需要redolog和undolog?从数据页刷盘的四种策略考虑

日志:Redo Log 和 Undo Log