讀書筆記-MySQL技術(shù)內(nèi)幕InnoDB存儲(chǔ)引擎第2版

Mysql InnoDB體系結(jié)構(gòu)/MySQL服務(wù)器架構(gòu)

InnoDB存儲(chǔ)引擎內(nèi)存由以下幾個(gè)部分組成:緩沖池(buffer pool)、重做日志緩沖池(redo log buffer)以及額外的內(nèi)存池(additional memory pool),分別由配置文件中的參數(shù)innodb_buffer_pool_size和innodb_log_buffer_size的大小決定。

InnoDB存儲(chǔ)引擎的關(guān)鍵特性包括插入緩沖、兩次寫(double write)、自適應(yīng)哈希索引(adaptive hash index)。這些特性為InnoDB存儲(chǔ)引擎帶來了更好的性能和更高的可靠性。

插入緩沖是InnoDB存儲(chǔ)引擎關(guān)鍵特性中最令人激動(dòng)的。不過,這個(gè)名字可能會(huì)讓人認(rèn)為插入緩沖是緩沖池中的一個(gè)部分。其實(shí)不然,InnoDB緩沖池中有Insert Buffer信息固然不錯(cuò),但是Insert Buffer和數(shù)據(jù)頁一樣,也是物理頁的一個(gè)組成部分。

如果說插入緩沖帶給InnoDB存儲(chǔ)引擎的是性能,那么兩次寫帶給InnoDB存儲(chǔ)引擎的是數(shù)據(jù)的可靠性。當(dāng)數(shù)據(jù)庫(kù)宕機(jī)時(shí),可能發(fā)生數(shù)據(jù)庫(kù)正在寫一個(gè)頁面,而這個(gè)頁只寫了一部分(比如16K的頁,只寫前4K的頁)的情況,我們稱之為部分寫失效(partial page write)。在InnoDB存儲(chǔ)引擎未使用double write技術(shù)前,曾出現(xiàn)過因?yàn)椴糠謱懯Ф鴮?dǎo)致數(shù)據(jù)丟失的情況。

資源來自:http://roll.sohu.com/20130419/n373311094.shtml

InnoDB各版本功能對(duì)比
InnoDB存儲(chǔ)引擎體系架構(gòu)


后臺(tái)線程的主要作用


內(nèi)存池的作用
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容