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寫入持久存
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。