成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一分鐘理解Redo Undo

開發(fā) 開發(fā)工具
數(shù)據(jù)庫中有一種特殊的“日志文件”叫Redo(重做) Undo(撤銷),Reod/Undo文件是數(shù)據(jù)庫的一部分,主要用于數(shù)據(jù)恢復(fù),保證數(shù)據(jù)的一致性和完整性。

數(shù)據(jù)庫中有一種特殊的“日志文件”叫 Redo(重做) Undo(撤銷),傳統(tǒng)意義上的日志文件是記錄系統(tǒng)運行狀態(tài)的,主要用于系統(tǒng)工程師或者程序員排錯。而 Reod/Undo 文件是數(shù)據(jù)庫的一部分,主要用于數(shù)據(jù)恢復(fù),保證數(shù)據(jù)的一致性和完整性。

Redo Undo

用途

當(dāng)執(zhí)行 Insert、Update、Delete 動作時數(shù)據(jù)庫不會真的去數(shù)據(jù)文件中執(zhí)行 I/O 操作,而是分了兩部分:

  • 修改內(nèi)存中的數(shù)據(jù)(數(shù)據(jù)庫稱為 Buffer)
  • 記錄 Redo Undo 日志

只有當(dāng) Buffer 達到刷新條件(比如臟數(shù)據(jù)達到一定比例)才會對數(shù)據(jù)文件進行操作。數(shù)據(jù)庫這么設(shè)計是出于性能考慮,因為讀寫數(shù)據(jù)文件是一次隨機 I/O 會降低系統(tǒng)性能;雖然 Redo Undo 也會寫文件,但它是順序?qū)懭耄阅鼙容^高。

這種順序?qū)懭胍话悴捎?LSM (Log Structured Merge Trees)算法,比如 Kafka,HBase、LevelDB 都采用這種結(jié)構(gòu)。

因為數(shù)據(jù)并沒有真正的寫入數(shù)據(jù)文件,所以當(dāng)數(shù)據(jù)庫系統(tǒng)崩潰后(比如斷電、系統(tǒng)重啟、介質(zhì)錯誤),數(shù)據(jù)庫系統(tǒng)會利用Redo、Undo 恢復(fù)數(shù)據(jù)。

如何恢復(fù)

兩個原則

  • 從前向后讀取 Redo,重做所有已提交的事務(wù)
  • 從后往前讀取 Undo,回滾未提交的事務(wù)

以上面操作為例,假設(shè)故障點發(fā)生在***個 Write 之后。

數(shù)據(jù)庫啟動后讀取 Redo 文件沒有發(fā)現(xiàn)已經(jīng)提交的事務(wù),什么也不做;讀取 Undo 文件發(fā)現(xiàn)未提交的事務(wù),恢復(fù) X=0(假設(shè) X 歷史值為 0)。

  • 假設(shè)故障點發(fā)生在第二個 Write 之后:數(shù)據(jù)庫啟動后讀取 Redo 文件發(fā)現(xiàn)沒有已經(jīng)提交的事務(wù),什么也不做;讀取 Undo 文件發(fā)現(xiàn)未提交的事務(wù),恢復(fù) X=1,繼續(xù)回滾X=0。
  • 假設(shè)故障點發(fā)生在 Commit 之后:數(shù)據(jù)庫啟動后讀取 Redo 文件發(fā)生已經(jīng)提交的事務(wù),執(zhí)行 X=1,然后 X=2;讀取 Undo 文件發(fā)現(xiàn)提交事務(wù),什么也不做。

多個事務(wù)也是如此,讀者可以自行嘗試枚舉。

【本文是51CTO專欄作者“邢森”的原創(chuàng)文章,轉(zhuǎn)載請聯(lián)系作者本人獲取授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2017-02-21 13:00:27

LoadAverage負載Load

2018-06-26 05:23:19

線程安全函數(shù)代碼

2018-12-12 22:51:24

Java包裝語言

2017-03-30 19:28:26

HBase分布式數(shù)據(jù)

2018-06-26 10:52:45

2018-06-28 14:00:01

分布式集群架構(gòu)

2017-07-06 08:12:02

索引查詢SQL

2022-07-18 06:16:07

單點登錄系統(tǒng)

2020-05-21 19:46:19

區(qū)塊鏈數(shù)字貨幣比特幣

2020-07-17 07:44:25

云計算邊緣計算IT

2016-09-12 17:28:45

云存儲應(yīng)用軟件存儲設(shè)備

2020-07-09 07:37:06

數(shù)據(jù)庫Redis工具

2011-02-21 17:48:35

vsFTPd

2018-07-31 15:05:51

Java公平鎖線程

2015-11-12 10:32:40

GitHub控制系統(tǒng)分布式

2016-12-16 11:05:00

分布式互斥線程

2018-03-27 09:28:33

緩存策略系統(tǒng)

2021-08-06 08:50:45

加密貨幣比特幣區(qū)塊鏈

2020-06-11 08:04:12

WDMDWDMMWDM

2013-11-15 07:24:50

4G LTE圖解
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产在线观看网站 | 一级黄色录像毛片 | 波多野结衣中文字幕一区二区三区 | 美女视频一区 | 国产成人亚洲精品 | 少妇久久久 | 亚洲视频一区二区三区四区 | 国产欧美日韩精品一区二区三区 | 欧美日韩亚洲一区 | 一级黄色av电影 | 久久99国产精品 | 国产日产精品一区二区三区四区 | 性视频一区 | 男女免费在线观看视频 | 精品二| 午夜电影福利 | 国产黄视频在线播放 | 成人在线免费网站 | 成人午夜免费在线视频 | av网站免费观看 | 综合一区二区三区 | 亚洲精品 在线播放 | 做a的各种视频 | 国产特级毛片aaaaaa喷潮 | 天天干天天爽 | 天堂成人国产精品一区 | 999热精品视频 | 中文字幕99 | 91精品免费视频 | 亚洲永久精品国产 | 中文字幕亚洲欧美 | 久久综合九色综合欧美狠狠 | 久久亚洲天堂 | 国产精品视频入口 | 精品久久一区二区 | 一区二区三区欧美大片 | 国产精品网页 | 韩国av一区二区 | 99久久国产 | 九一精品 | 免费影视在线观看 |