最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL Redo與Undo日志詳細(xì)解析

 更新時(shí)間:2022年07月31日 09:32:16   作者:樹(shù)獺叔叔???????  
這篇文章主要介紹了MySQL Redo與Undo日志詳細(xì)解析,Redo日志是物理日志,記錄的是頁(yè)面的變化,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下

1. Redo日志的介紹

Redo日志是物理日志,記錄的是頁(yè)面的變化。

1.1 Redo日志的作用

  • 提升數(shù)據(jù)庫(kù)寫(xiě)入效率
  • 保證數(shù)據(jù)庫(kù)不丟數(shù)據(jù),進(jìn)行數(shù)據(jù)恢復(fù)

1.2 Redo日志的格式與類型

所謂REDO的組織方式,就是如何把需要的REDO內(nèi)容記錄到磁盤文件中,以方便高效的REDO寫(xiě)入,讀取,恢復(fù)以及清理。我們這里把REDO從上到下分為三層:邏輯REDO層、物理REDO層和文件層。

  • 邏輯REDO層

這一層是真正的REDO內(nèi)容,順序的數(shù)據(jù)流,REDO由多個(gè)不同Type的多個(gè)REDO記錄收尾相連組成,有全局唯一的遞增的偏移sn,InnoDB會(huì)在全局log_sys中維護(hù)當(dāng)前sn的最大值,并在每次寫(xiě)入數(shù)據(jù)時(shí)將sn增加REDO內(nèi)容長(zhǎng)度。

  • 物理REDO層

磁盤是塊設(shè)備,InnoDB中也用Block的概念來(lái)讀寫(xiě)數(shù)據(jù),一個(gè)Block的長(zhǎng)度OS_FILE_LOG_BLOCK_SIZE等于磁盤扇區(qū)的大小512B,每次IO讀寫(xiě)的最小單位都是一個(gè)Block。

  • 文件層

最終REDO會(huì)被寫(xiě)入到REDO日志文件中,并且日志文件是循環(huán)寫(xiě)入的

2. 寫(xiě)入Redo日志的流程(MTR)

  • 用戶線程的操作會(huì)首先寫(xiě)進(jìn)log buffer
  • log buffer中的日志會(huì)順序?qū)懭隦edo邏輯日志中
  • 之后會(huì)落盤持久化存儲(chǔ)到磁盤上
  • 之后通知用戶已經(jīng)存儲(chǔ)完成了

3. Checkpoint機(jī)制

Checkpoint是Redo日志中臟頁(yè)的標(biāo)記位,有以下兩個(gè)作用:

  • 維護(hù)Redo日志,方便清理
  • 減小重啟的工作量

數(shù)據(jù)庫(kù)恢復(fù)流程:

  • 讀取 checkpoint 信息•從 checkpoint 位置開(kāi)始讀取剩余日志
  • 解析日志并按 space_no 與 page_id 構(gòu)建 hash 表
  • 應(yīng)用 Redo 日志,Redo日志回放保證冪等性
  • 解析 binlog 構(gòu)建 xid 列表
  • 掃描回滾段構(gòu)建待提交事務(wù)列表
  • 回滾掉未在 xid 列表中的事務(wù)

4. Undo日志介紹

Undo log是邏輯日志,記錄的是數(shù)據(jù)的增量變化,它的作用是保證事務(wù)的原子性和事務(wù)并發(fā)控制??梢杂糜谑聞?wù)回滾,以及提供多版本機(jī)制(MVCC),解決讀寫(xiě)沖突和一致性讀的問(wèn)題。

5. MVCC

MVCC的意義:

  • 讀寫(xiě)互不阻塞;
  • 降低死鎖概率;
  • 實(shí)現(xiàn)一致性讀。

UndoLog在MVCC的作用:

  • 每個(gè)事務(wù)有一個(gè)單增的事務(wù)ID;
  • 數(shù)據(jù)頁(yè)的行記錄中包含了DB_ROW_ID,DB_TRX_ID,DB_ROLL_PTR;
  • DB_ROLL_PTR將數(shù)據(jù)行的所有快照記錄都通過(guò)鏈表的結(jié)構(gòu)串聯(lián)了起來(lái)。

到此這篇關(guān)于MySQL Redo與Undo日志詳細(xì)解析的文章就介紹到這了,更多相關(guān)MySQL Redo與Undo 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • CentOS下RPM方式安裝MySQL5.6教程

    CentOS下RPM方式安裝MySQL5.6教程

    這篇文章主要為大家詳細(xì)介紹了CentOS下RPM方式安裝MySQL5.6教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • VS2019連接mysql8.0數(shù)據(jù)庫(kù)的教程圖文詳解

    VS2019連接mysql8.0數(shù)據(jù)庫(kù)的教程圖文詳解

    這篇文章主要介紹了VS2019連接mysql8.0數(shù)據(jù)庫(kù)的教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • MySQL 數(shù)據(jù)庫(kù)跨操作系統(tǒng)的最快遷移方法

    MySQL 數(shù)據(jù)庫(kù)跨操作系統(tǒng)的最快遷移方法

    原始的是Windows 2003下的32位的MySQL數(shù)據(jù)庫(kù), 新的服務(wù)器是Sun的64位的小型機(jī),64位的MySQL數(shù)據(jù)庫(kù)。
    2009-02-02
  • MySQL8.0鎖等待排查的實(shí)現(xiàn)

    MySQL8.0鎖等待排查的實(shí)現(xiàn)

    MySQL8.0相較于5.7版本在鎖等待排查方面發(fā)生了顯著變化,原有的INNODB_LOCKS和INNODB_LOCK_WAITS表被移除,本篇文章將結(jié)合這些改動(dòng),介紹 MySQL 8.0 版本如何排查鎖等待問(wèn)題,感興趣的可以了解一下
    2024-09-09
  • MySQL服務(wù)器連接過(guò)程淺析

    MySQL服務(wù)器連接過(guò)程淺析

    這篇文章主要介紹了MySQL服務(wù)器連接過(guò)程淺析,本文從源碼分析了MySQL服務(wù)器的連接過(guò)程,需要的朋友可以參考下
    2015-03-03
  • MySQL8.0 如何快速加列

    MySQL8.0 如何快速加列

    這篇文章主要介紹了MySQL8.0 如何快速加列,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2020-09-09
  • MySQL存儲(chǔ)引擎總結(jié)

    MySQL存儲(chǔ)引擎總結(jié)

    這篇文章主要介紹了MySQL存儲(chǔ)引擎總結(jié),本文講解了什么是存儲(chǔ)引擎、MyISAM、InnoDB、MEMORY、MERGE等內(nèi)容,需要的朋友可以參考下
    2014-09-09
  • 從MySQL全庫(kù)備份中恢復(fù)某個(gè)庫(kù)和某張表的方法

    從MySQL全庫(kù)備份中恢復(fù)某個(gè)庫(kù)和某張表的方法

    這篇文章主要介紹了從MySQL全庫(kù)備份中恢復(fù)某個(gè)庫(kù)和某張表的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • MySQL建立數(shù)據(jù)庫(kù)時(shí)字符集與排序規(guī)則的選擇詳解

    MySQL建立數(shù)據(jù)庫(kù)時(shí)字符集與排序規(guī)則的選擇詳解

    當(dāng)數(shù)據(jù)庫(kù)需要適應(yīng)不同的語(yǔ)言就需要有不同的字符集,下面這篇文章主要給大家介紹了關(guān)于MySQL建立數(shù)據(jù)庫(kù)時(shí)字符集與排序規(guī)則的選擇的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • Mysql中雪花算法(Snowflake)的使用

    Mysql中雪花算法(Snowflake)的使用

    雪花算法是一種生成全局唯一ID的分布式算法,本文就來(lái)介紹一下Mysql中雪花算法的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-02-02

最新評(píng)論

通榆县| 历史| 手游| 湘潭市| 道真| 鹤山市| 六枝特区| 灯塔市| 香河县| 阿巴嘎旗| 贺兰县| 裕民县| 绍兴市| 大英县| 定安县| 湘乡市| 无为县| 芦溪县| 尤溪县| 阳东县| 永春县| 都安| 轮台县| 囊谦县| 宜章县| 通榆县| 彰化市| 丰原市| 新竹市| 乐业县| 阿拉善左旗| 平凉市| 会宁县| 湾仔区| 黎平县| 黑河市| 收藏| 毕节市| 九台市| 泸溪县| 中超|