码迷,mamicode.com
首页 > 数据库 > 详细

InnoDB undo, redo,binlog,data什么时候写?

时间:2015-03-31 00:29:25      阅读:729      评论:0      收藏:0      [点我收藏+]

标签:

undo:相当于数据修改前的备份

redo: 相当于数据修改后的备份,为了保证事务的持久化,redo会一直写

Undo + Redo事务的简化过程
  假设有A、B两个数据,值分别为1,2.
  A.事务开始.
  B.记录A=1到undo log.
  C.修改A=3.
  D.记录A=3到redo log.
  E.记录B=2到undo log.
  F.修改B=4.
  G.记录B=4到redo log.
  H.将redo log写入磁盘。
  I.事务提交

Undo + Redo事务的特点
  A. 为了保证持久性,必须在事务提交前将Redo Log持久化。
  B. 数据不需要在事务提交前写入磁盘,而是缓存在内存中。    ---data在此不需要写磁盘,但是如果redo文件过小也会触发事务未提交前数据落盘
  C. Redo Log 保证事务的持久性  
  D. Undo Log 保证事务的原子性。
  E. 有一个隐含的特点,数据必须要晚于redo log写入持久存储。

binlog:事务提交时写

InnoDB undo, redo,binlog,data什么时候写?

标签:

原文地址:http://www.cnblogs.com/xingye001/p/4379466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!