Mysql InnoDB體系結(jié)構(gòu)/MySQL服務器架構(gòu)
InnoDB存儲引擎內(nèi)存由以下幾個部分組成:緩沖池(buffer pool)莫其、重做日志緩沖池(redo log buffer)以及額外的內(nèi)存池(additional memory pool)呈础,分別由配置文件中的參數(shù)innodb_buffer_pool_size和innodb_log_buffer_size的大小決定瓤狐。
InnoDB存儲引擎的關鍵特性包括插入緩沖、兩次寫(double write)斯撮、自適應哈希索引(adaptive hash index)经伙。這些特性為InnoDB存儲引擎帶來了更好的性能和更高的可靠性。
插入緩沖是InnoDB存儲引擎關鍵特性中最令人激動的吮成。不過橱乱,這個名字可能會讓人認為插入緩沖是緩沖池中的一個部分辜梳。其實不然粱甫,InnoDB緩沖池中有Insert Buffer信息固然不錯,但是Insert Buffer和數(shù)據(jù)頁一樣作瞄,也是物理頁的一個組成部分茶宵。
如果說插入緩沖帶給InnoDB存儲引擎的是性能,那么兩次寫帶給InnoDB存儲引擎的是數(shù)據(jù)的可靠性宗挥。當數(shù)據(jù)庫宕機時乌庶,可能發(fā)生數(shù)據(jù)庫正在寫一個頁面,而這個頁只寫了一部分(比如16K的頁契耿,只寫前4K的頁)的情況瞒大,我們稱之為部分寫失效(partial page write)。在InnoDB存儲引擎未使用double write技術前搪桂,曾出現(xiàn)過因為部分寫失效而導致數(shù)據(jù)丟失的情況透敌。
資源來自:http://roll.sohu.com/20130419/n373311094.shtml
InnoDB各版本功能對比
InnoDB存儲引擎體系架構(gòu)
后臺線程的主要作用
內(nèi)存池的作用