日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

網(wǎng)上寫MySQL架構(gòu)的文章比較多,寫InnoDB架構(gòu)的文章比較少,今天簡單說說InnoDB架構(gòu)。

畫外音:一分鐘,一幅圖,秒懂。

 

MySQL簡要架構(gòu)是怎么樣的?

「轉(zhuǎn)」InnoDB架構(gòu),一幅圖秒懂

 

MySQL整體分為三層:

(1)客戶端,是各種編程語言的connector;

(2)MySQL服務,內(nèi)部包含各種組件,實現(xiàn)各種功能;

(3)文件系統(tǒng),數(shù)據(jù)存儲與日志;

 

其中,MySQL服務內(nèi),可以以插件的形式,實現(xiàn)各種存儲引擎。

 

在InnoDB,MyISAM,Memory…等各種存儲引擎中,InnoDB是使用范圍最廣的。

畫外音:事務,行鎖,聚集索引,MVCC…眾多特性讓InnoDB備受青睞。

 

InnoDB簡要架構(gòu)是怎么樣的?

「轉(zhuǎn)」InnoDB架構(gòu),一幅圖秒懂

 

InnoDB整體也分為三層:

(1)內(nèi)存結(jié)構(gòu)(In-Memory Structure),這一層在MySQL服務進程內(nèi);

(2)OS Cache,這一層屬于內(nèi)核態(tài)內(nèi)存;

(3)磁盤結(jié)構(gòu)(On-Disk Structure),這一層在文件系統(tǒng)上;

 

這三層的交互有兩類:

(1)通過OS Cache落地數(shù)據(jù)(上圖中,兩個短箭頭);

(2)直接O_Direct落地數(shù)據(jù)(長途中,長箭頭);

畫外音:這是一個性能與一致性折衷的設(shè)計。

 

InnoDB內(nèi)存結(jié)構(gòu)包含哪些核心組件?

InnoDB內(nèi)存結(jié)構(gòu)包含四大核心組件,分別是:

(1)緩沖池(Buffer Pool);

(2)寫緩沖(Change Buffer);

(3)自適應哈希索引(Adaptive Hash Index);

(4)日志緩沖(Log Buffer);

 

恰好,這四大核心組件,今年都詳細的寫過。

 

緩沖池(Buffer Pool)

目的是提升InnoDB性能,加速讀請求,避免每次數(shù)據(jù)訪問都進行磁盤IO。

畫外音:和系統(tǒng)架構(gòu)設(shè)計中緩存的功能有點像,避免每次訪問數(shù)據(jù)庫。

這里面涉及的技術(shù)點包括:預讀,局部性原理,LRU,預讀失敗+緩沖池污染,新生代老生代雙鏈LRU…細節(jié)參見《緩沖池(buffer pool),徹底懂了!》。

 

寫緩沖(Change Buffer)

目的是提升InnoDB性能,加速寫請求,避免每次寫入都進行磁盤IO。

畫外音:我C,這個牛逼,寫入居然都可以不進行磁盤IO?

細節(jié)參見《寫緩沖(change buffer),徹底懂了!》,這篇文章的細節(jié)原理,特別有意思。

 

自適應哈希索引(Adaptive Hash Index)

目的是提升InnoDB性能,加速讀請求,減少索引查詢的尋路路徑。

這里面涉及的技術(shù)點包括:聚集索引,普通索引,哈希索引…細節(jié)參見《InnoDB到底支不支持哈希索引》。

 

日志緩沖(Log Buffer)

目的是提升InnoDB性能,極大優(yōu)化redo日志性能,并提供了高并發(fā)與強一致性的折衷方案。

這里面涉及的技術(shù)點包括:redo log作用,流程,三層架構(gòu),隨機寫優(yōu)化為順序?qū)?,次次寫?yōu)化為批量寫…細節(jié)參見《事務已提交,數(shù)據(jù)卻丟了,趕緊檢查下LogBuffer》。

 

InnoDB磁盤結(jié)構(gòu)包含哪些核心組件?

主要包括日志與表空間,其結(jié)構(gòu)與原理比InnoDB內(nèi)存結(jié)構(gòu)更加復雜,如果大家感興趣,未來再撰文詳述。

 

「轉(zhuǎn)」InnoDB架構(gòu),一幅圖秒懂

 

一分鐘系列,希望大家對InnoDB架構(gòu),以及InnoDB內(nèi)存結(jié)構(gòu)的四大組件有了更系統(tǒng)性的了解。

 

知其然,知其所以然,希望大家有收獲。

分享到:
標簽:架構(gòu) InnoDB
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定