婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL 8.0 redo log的深入解析

MySQL 8.0 redo log的深入解析

熱門標簽:怎樣在地圖標注銷售區(qū)域 曲靖移動外呼系統(tǒng)公司 地圖標注費用是多少 啥是企業(yè)400電話辦理 南昌三維地圖標注 武漢網(wǎng)絡外呼系統(tǒng)服務商 外呼系統(tǒng)打電話上限是多少 百應電話機器人優(yōu)勢 電話外呼系統(tǒng)改號

前言

最開始了解mysql實現(xiàn)的時候,總聽到redo log, WAL(write-ahead logging),undo log這些關鍵詞,了解到redo log主要是用于實現(xiàn)事務的持久化的。為了進一步了解redo log,看了下相關代碼(源碼版本: mysql 8.0.12),這里簡單總結下,主要介紹redo log是如何產生,如何落盤,以及最終通知用戶的。

redo log的產生

讀寫事務在執(zhí)行的過程中,會不斷的產生redo log。申請數(shù)據(jù)頁、修改數(shù)據(jù)頁、記錄undo log等,都會產生redo log。mysql將用戶事務拆分成一個個mtr(mini transaction),redo log最初產生時就是被記錄到mtr中的,并伴隨著mtr的提交而提交,最終落到硬盤上。

redo log 的提交

mtr在提交時,會將mtr中的redo log寫到系統(tǒng)變量log_sys的log buffer中。mysql8.0一個新特性就是redo log提交的無鎖化。在8.0以前,各個用戶線程都是通過互斥量競爭,串行的寫log buffer,因此能保證lsn的順序無間隔增長。8.0時用戶線程可以并發(fā)寫log buffer,如果某個用戶線程寫log buffer成功后,就將自己寫的lsn以前的log buffer刷盤,則有可能導致其他用戶線程寫log buffer還沒完成就被刷盤。

為了解決這個問題,mysql 8.0引入了Link_buf這個數(shù)據(jù)結構來避免log buffer的空洞。Link_buf實際是一個定長數(shù)組,像滑動窗口一樣跟蹤log buffer一段區(qū)間的寫入情況,隨著log buffer中寫入連續(xù)redo log不斷向前推進。

Link_buf的數(shù)據(jù)結構如圖:

當用戶在log buffer的start_lsn-end_lsn間寫下redo log時,會標記Link_buf相應的位置,即將m_link[start_lsn%m_capacity]賦值為為end_lsn-start_lsn。

redo log記錄到log buffer的過程如下:

1.首先,各用戶線程寫redo log時,先根據(jù)redo log長度,向系統(tǒng)全局原子變量log_sys.sn獲取本次redo log日志的start_lsn, end_lsn。原子變量sn能保證各線程獲得的start_lsn-end_lsn區(qū)間連續(xù)無空洞;

2.用戶線程申請到start_lsn-end_lsn區(qū)間后,需要先等待到Link_buf推進到自己可以使用的位置。

如圖所示,start_lsn0-end_lsn0,start_lsn2-end_lsn2, start_lsn3-end_lsn3為三個用戶線程新申請的lsn區(qū)間;start_lsn1-end_lsn1對應的區(qū)間已經標記到link_buf上;start_lsn3-end_lsn3距離tail太遠,需要等待link_buf推進才能使用;

3.寫入log buffer后,再將start_lsn->end_lsn的范圍標記到link_buf(注意:因為只在start_lsn%capacity的位置標記link_buf,所以即使end_lsn超過(m_tail, m_tail+m_capacity)也不影響);

4.用戶線程提交事務時設置事件log_sys.writer_event,觸發(fā)log_writer線程將日志從redo log buffer寫到系統(tǒng)緩存(log_writer線程自己也會輪詢link_buf判斷是否寫入了新的日志);

5.log_writer線程推進m_tail,并將m_tail前的log buffer落盤。

redo log 的落盤及通知

前面簡述了redo log是如何提交的,在redo log提交以及落盤時,涉及多個線程,他們的關系如下:

用戶線程在讀寫事務提交時,會產生一些redo log,并隨著mtr提交而記錄到redo log buffer中,隨后用戶線程嘗試設置writer_event觸發(fā)log_writer線程寫日志,并監(jiān)聽屬于自己的flush_events[i]事件;

log_writer線程推進Link_buf.m_tail,將最大連續(xù)lsn前的redo log寫入系統(tǒng)緩存,并設置flusher_event觸發(fā)log_flusher線程;

log_flusher線程將已寫入系統(tǒng)緩存的日志刷盤,并設置flush_notifier_event觸發(fā)log_flush_notifier線程通知用戶;

log_flush_notifier根據(jù)已刷盤的lsn換算出需要觸發(fā)的事件,通知用戶線程。

具體實現(xiàn)時,通過log_sys中的幾個成員變量,跟進redo log的寫入情況。其中l(wèi)og_sys.recent_writtern.m_tail表示log buffer最大連續(xù)范圍;log_sys.write_lsn表示寫入到系統(tǒng)緩存的位置;log_sys.flushed_to_disk_lsn表示已落盤的位置。各標記的推進過程如下:

通知用戶線程

用戶提交事務時,會根據(jù)innodb_flush_log_at_trx_commit參數(shù),調用log_wait_for_write或log_wait_for_flush,來等待redo log寫入到系統(tǒng)緩存或刷到硬盤。用戶線程的通知是通過log_sys.flush_events事件數(shù)組來實現(xiàn)的,為了避免一次通知的flush_events過多,flush_events會像桶一樣劃分給不同的用戶線程:redo log是以一個個log block劃分的,假設log_sys.flush_events數(shù)組長度為m,則第n個log block的刷盤,由flush_events[n%m]事件監(jiān)聽。當log buffer的第L1個log block到第L2個log block被刷盤時,會設置L1-L2之間的log block所屬的flush_events,從而redo log在L1-L2之間的用戶線程都會收到通知。

總結

mysql8.0通過redo log無鎖化,解決了用戶線程寫redo log時競爭鎖帶來的性能影響。同時將redo log寫文件、redo log刷盤從用戶線程中剝離出來,抽成單獨的線程,用戶線程只負責將redo log寫入到log buffer,不再關心redo log的落盤細節(jié),只需等待log_writer線程或log_flusher線程的通知。

以上就是MySQL 8.0 redo log的深入解析的詳細內容,更多關于MySQL 8.0 redo log的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • MySQL 撤銷日志與重做日志(Undo Log與Redo Log)相關總結
  • MySQL系列之redo log、undo log和binlog詳解
  • 詳解MySQL 重做日志(redo log)與回滾日志(undo logo)
  • MySQL中的redo log和undo log日志詳解

標簽:荊州 黑河 隨州 滄州 資陽 吉林 錦州 甘南

巨人網(wǎng)絡通訊聲明:本文標題《MySQL 8.0 redo log的深入解析》,本文關鍵詞  MySQL,8.0,redo,log,的,深入,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL 8.0 redo log的深入解析》相關的同類信息!
  • 本頁收集關于MySQL 8.0 redo log的深入解析的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美日韩的一区二区| 91九色最新地址| 久久久99免费| 欧美日韩亚洲丝袜制服| 91色九色蝌蚪| 成人精品一区二区三区中文字幕| 五月婷婷激情综合| 一区二区三区电影在线播| 久久久.com| 久久久精品天堂| 久久丝袜美腿综合| 久久综合狠狠综合| 亚洲精品一区二区三区在线观看| 91精品国产入口在线| 欧美精品在线一区二区三区| 色综合天天性综合| 色综合色综合色综合色综合色综合| 成人黄页毛片网站| 欧美在线观看18| 偷拍亚洲欧洲综合| 亚洲国产精品一区二区久久| 一区二区三区不卡视频| 亚洲少妇最新在线视频| 亚洲女人小视频在线观看| 亚洲伦在线观看| 亚洲在线视频免费观看| 天堂资源在线中文精品| 日韩高清在线不卡| 免费成人小视频| 精品一区二区三区日韩| 久久国产免费看| 国产成人自拍网| 色婷婷激情综合| 欧美三级日韩三级国产三级| 欧美欧美欧美欧美| 久久青草欧美一区二区三区| 中文成人av在线| 最好看的中文字幕久久| 亚洲愉拍自拍另类高清精品| 一个色妞综合视频在线观看| 日本视频在线一区| 粉嫩aⅴ一区二区三区四区| 97精品久久久久中文字幕 | 欧美性大战久久久久久久蜜臀 | 激情深爱一区二区| 国产一区二区日韩精品| 91丨九色丨尤物| 日韩一区二区三区四区| 久久久久国产成人精品亚洲午夜| 综合分类小说区另类春色亚洲小说欧美 | 丝瓜av网站精品一区二区| 美女国产一区二区| 不卡一区在线观看| 日韩欧美国产麻豆| 国产精品网站在线| 看电视剧不卡顿的网站| 91精彩视频在线观看| www激情久久| 亚洲无线码一区二区三区| 91福利视频网站| 国产亚洲福利社区一区| 伊人性伊人情综合网| 激情六月婷婷久久| 在线观看一区日韩| 国产精品欧美久久久久一区二区 | 激情五月婷婷综合网| 91国产福利在线| 国产亚洲欧美日韩日本| 日韩和欧美一区二区| 成人app在线| 精品sm捆绑视频| 夜夜精品视频一区二区 | 国产精品香蕉一区二区三区| 91蝌蚪porny九色| 国产午夜精品久久久久久久| 免费观看在线综合| 欧美老年两性高潮| 亚洲欧美视频一区| 成人免费精品视频| 久久综合色播五月| 久草精品在线观看| 欧美一区二区大片| 日日摸夜夜添夜夜添国产精品 | 成人国产精品免费观看视频| 精品电影一区二区三区| 日韩电影在线免费看| 欧美美女黄视频| 爽好久久久欧美精品| 99re66热这里只有精品3直播| xvideos.蜜桃一区二区| 久久99国产精品久久99| 日韩女优av电影| 精品一区二区三区在线观看| 精品国产亚洲在线| 日韩专区在线视频| 欧美日本韩国一区二区三区视频| 亚洲电影中文字幕在线观看| 欧美三级欧美一级| 一区二区三区**美女毛片| 亚洲欧美日韩久久| 亚洲猫色日本管| 91福利在线观看| 亚洲资源在线观看| 91精品视频网| 美洲天堂一区二卡三卡四卡视频| 欧美一区二区二区| 国内久久精品视频| 国产精品久久久久婷婷二区次| 欧美va日韩va| 国产69精品久久99不卡| 欧美一级二级三级蜜桃| 亚洲色图一区二区| 中文字幕日韩欧美一区二区三区| 成人动漫在线一区| 亚洲欧美一区二区三区久本道91| 一本色道亚洲精品aⅴ| 亚洲欧美偷拍卡通变态| 欧美精品一级二级| 国产综合久久久久影院| 中文字幕制服丝袜一区二区三区 | 欧美影院一区二区三区| 日韩黄色在线观看| 精品国产区一区| 91视视频在线观看入口直接观看www| 亚洲资源在线观看| 精品久久久久久久久久久久久久久久久| 国产综合色在线视频区| 国产精品视频麻豆| 欧美日韩黄视频| 国产99久久久久久免费看农村| 亚洲精品日韩专区silk| 欧美一区日韩一区| 波多野结衣中文字幕一区二区三区 | 狠狠色伊人亚洲综合成人| 国产精品色哟哟网站| 欧美一级欧美一级在线播放| 国产sm精品调教视频网站| 性做久久久久久免费观看欧美| 国产亚洲美州欧州综合国 | 久久色视频免费观看| 在线免费观看日本一区| 久久66热偷产精品| 亚洲一二三级电影| 国产精品美女久久久久av爽李琼 | 午夜精品一区在线观看| 久久婷婷国产综合精品青草| 欧美影院午夜播放| 成人app在线| 九色综合狠狠综合久久| 午夜精品免费在线观看| 亚洲婷婷综合色高清在线| 精品理论电影在线| 69堂亚洲精品首页| 在线免费不卡视频| 91在线视频播放| 国产精品一区二区免费不卡| 美国三级日本三级久久99| 亚洲 欧美综合在线网络| 亚洲视频在线观看一区| 国产拍欧美日韩视频二区| 欧美va在线播放| 欧美精品v日韩精品v韩国精品v| 99免费精品在线观看| 国产不卡在线一区| 国模冰冰炮一区二区| 激情五月婷婷综合| 日韩av电影免费观看高清完整版| 亚洲愉拍自拍另类高清精品| 一区二区三区四区精品在线视频| 一色屋精品亚洲香蕉网站| 国产精品国产三级国产有无不卡| 国产亚洲精品精华液| 国产色91在线| 欧美国产1区2区| 国产三级欧美三级日产三级99| 精品欧美一区二区久久 | 北条麻妃国产九九精品视频| 成人一区二区三区视频| 成a人片亚洲日本久久| 99久久精品免费看| 一本色道久久综合精品竹菊| 97国产精品videossex| 成人app软件下载大全免费| 成人午夜在线视频| yourporn久久国产精品| 色综合色综合色综合| 97久久精品人人澡人人爽| 欧美午夜精品久久久久久超碰 | 成人黄色a**站在线观看| av成人免费在线| 欧美亚洲综合久久| 日韩一区二区三区高清免费看看| 久久伊人蜜桃av一区二区| 五月天久久比比资源色| 精品一区二区三区日韩| 国产99久久久久| 在线免费不卡视频| 日韩欧美国产麻豆| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 日韩一级黄色大片|