《MySQL技術(shù)內(nèi)幕之InnoDB存儲(chǔ)引擎》讀書筆記

第一章 MySQL體系結(jié)構(gòu)和存儲(chǔ)引擎

1.1 mysql中“數(shù)據(jù)庫(kù)”和“實(shí)例”的概念如何區(qū)分

數(shù)據(jù)庫(kù):
數(shù)據(jù)的結(jié)構(gòu)組織形式愤估,數(shù)據(jù)在機(jī)器上的文件集合
實(shí)例:
操作這些文件集合的程序莺债,mysql是一個(gè)主進(jìn)程控制多個(gè)線程的程序(單進(jìn)程多線程的架構(gòu))迈着。

1.2 mysql的架構(gòu)圖

有個(gè)簡(jiǎn)書的博客寫的挺清晰:MySQL體系架構(gòu)

mysql整體架構(gòu)

外部有個(gè)連接層Connectors浊竟,向不同的編程語(yǔ)言提供交互接口
內(nèi)部的MySQL Server從上到下有多個(gè)模塊:

  • 管理服務(wù)和工具
    各種為mysql各個(gè)組件提供的工具暴氏,如監(jiān)控、配置芙委、恢復(fù)、備份等
  • 連接池
    鑒定權(quán)限狂秦,線程重用灌侣,鏈接限制等,內(nèi)存裂问、緩沖檢查等
  • SQL接口(DDL,DML侧啼,存儲(chǔ)過(guò)程,視圖愕秫,觸發(fā)器等)
    這里DDL和DML的區(qū)別慨菱?
    DDL: Data Define Language,數(shù)據(jù)定義語(yǔ)言戴甩,指一些維護(hù)數(shù)據(jù)表或數(shù)據(jù)庫(kù)的屬性的操作符喝,如CREATE、ALTER甜孤、DROP
    DML:Data Manipulation Language协饲,數(shù)據(jù)控制語(yǔ)言,指對(duì)數(shù)據(jù)的操作指令缴川,如增刪查改:SELECT茉稠、UPDATE、INSERT把夸、DELETE
  • Parser
    對(duì)query的解析
  • Optimizer
    優(yōu)化器而线,實(shí)現(xiàn)對(duì)query和索引的優(yōu)化,簡(jiǎn)化sql等
  • 緩存和緩沖區(qū)管理
    對(duì)全局和引擎層的緩存恋日、緩沖管理
  • 存儲(chǔ)引擎層
    mysql的存儲(chǔ)引擎是插件化的膀篮,任何開(kāi)發(fā)者都可以開(kāi)發(fā)自己的存儲(chǔ)引擎。存儲(chǔ)引擎是mysql服務(wù)器和底層數(shù)據(jù)文件的橋梁岂膳,通過(guò)mysql的API和mysql服務(wù)器交互誓竿,不同的存儲(chǔ)引擎實(shí)現(xiàn)了邏輯,具有各自不同的特點(diǎn)谈截。
  • 文件系統(tǒng)和日志
    mysql管理的數(shù)據(jù)最終還是落盤在系統(tǒng)文件系統(tǒng)上的筷屡。
3. 不同存儲(chǔ)引擎的差異

當(dāng)前被證明適合互聯(lián)網(wǎng)公司應(yīng)對(duì)高并發(fā)的引擎:InnoDB
官網(wǎng)對(duì)InnoDB特性解讀的tutorial鏈接:官網(wǎng)介紹InnoDB
維基百科中對(duì)不同存儲(chǔ)引擎的對(duì)比:維基百科:mysql存儲(chǔ)引擎的對(duì)比

三個(gè)典型存儲(chǔ)引擎的比較

再參考InnoDB vs. MyISAM – A Comparison of Pros and Cons可以總結(jié)以下特點(diǎn):
1、MyISAM設(shè)計(jì)簡(jiǎn)單簸喂,只支持表級(jí)鎖(因此對(duì)于頻繁插入和更新的請(qǐng)求來(lái)說(shuō)速度比InnoDB慢)毙死,不支持事務(wù),支持地理位置索引娘赴,支持全文索引规哲,對(duì)于簡(jiǎn)單的系統(tǒng)來(lái)說(shuō)性能比InnoDB強(qiáng),尤其適用于很多“讀”請(qǐng)求(read-intensive (select))的場(chǎng)景诽表,是一種設(shè)計(jì)服務(wù)于OLAP(OnLine Analytical Processing)場(chǎng)景的存儲(chǔ)引擎唉锌。
2、InnoDB更復(fù)雜竿奏,耗費(fèi)更多的系統(tǒng)資源袄简,數(shù)據(jù)一致性更好,支持了行級(jí)鎖(更適合寫頻繁的場(chǎng)景:write-intensive (inserts, updates))泛啸,支持事務(wù)绿语,不支持地理位置索引,5.6后才支持全文索引候址,服務(wù)于OLTP(OnLine Transaction Processing)場(chǎng)景的存儲(chǔ)引擎吕粹,另外InnoDB的MVCC機(jī)制(MultiVersion Concurrency Control,多版本并發(fā)控制) 使得他具有很好的高并發(fā)特性岗仑。
3匹耕、Memory引擎,把表的數(shù)據(jù)全放在內(nèi)存中荠雕,數(shù)據(jù)庫(kù)重啟或崩潰稳其,表中的數(shù)據(jù)將丟失,只適用于存儲(chǔ)臨時(shí)數(shù)據(jù)炸卑,它默認(rèn)使用哈希索引既鞠。值得注意的是,mysql使用memory引擎存儲(chǔ)中間結(jié)果集盖文,如果中間結(jié)果集大小大于memory引擎表的容量上限或含有memory引擎不支持的TEXT或BLOB類型嘱蛋,則mysql會(huì)把數(shù)據(jù)轉(zhuǎn)存到MyISAM存儲(chǔ)引擎表而存到磁盤上,這樣的臨時(shí)表顯然會(huì)拖慢查詢執(zhí)行速度五续。

4洒敏、連接mysql的方式:進(jìn)程間通信

進(jìn)程間通信的幾種方式:管道,命名管道返帕,命名字桐玻,TCP/IP套接字,UNIX域套接字
這個(gè)我得好好復(fù)習(xí)下荆萤,開(kāi)個(gè)專題镊靴。。链韭。
書上交代了mysql交互的幾種進(jìn)程間通信方式:

  • TCP/IP套接字
    網(wǎng)絡(luò)中使用的最多的通信方式偏竟,我們使用的命令行就是該方式來(lái)通信的
  • 命名管道(named pipe)和共享內(nèi)存(shared memory)
    主要用于同一臺(tái)服務(wù)器上的進(jìn)程通信
  • UNIX域套接字
    UNIX域套接字不是一個(gè)網(wǎng)絡(luò)協(xié)議,因此也只適用于同一臺(tái)服務(wù)器上的進(jìn)程通信
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末敞峭,一起剝皮案震驚了整個(gè)濱河市踊谋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌旋讹,老刑警劉巖殖蚕,帶你破解...
    沈念sama閱讀 211,561評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轿衔,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡睦疫,警方通過(guò)查閱死者的電腦和手機(jī)害驹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蛤育,“玉大人宛官,你說(shuō)我怎么就攤上這事⊥吒猓” “怎么了底洗?”我有些...
    開(kāi)封第一講書人閱讀 157,162評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)咕娄。 經(jīng)常有香客問(wèn)我亥揖,道長(zhǎng),這世上最難降的妖魔是什么谭胚? 我笑而不...
    開(kāi)封第一講書人閱讀 56,470評(píng)論 1 283
  • 正文 為了忘掉前任徐块,我火速辦了婚禮,結(jié)果婚禮上灾而,老公的妹妹穿的比我還像新娘胡控。我一直安慰自己,他們只是感情好旁趟,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布昼激。 她就那樣靜靜地躺著,像睡著了一般锡搜。 火紅的嫁衣襯著肌膚如雪橙困。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,806評(píng)論 1 290
  • 那天耕餐,我揣著相機(jī)與錄音凡傅,去河邊找鬼。 笑死肠缔,一個(gè)胖子當(dāng)著我的面吹牛夏跷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播明未,決...
    沈念sama閱讀 38,951評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼槽华,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了趟妥?” 一聲冷哼從身側(cè)響起猫态,我...
    開(kāi)封第一講書人閱讀 37,712評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后亲雪,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體勇凭,經(jīng)...
    沈念sama閱讀 44,166評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評(píng)論 2 327
  • 正文 我和宋清朗相戀三年匆光,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了套像。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酿联。...
    茶點(diǎn)故事閱讀 38,643評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡终息,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贞让,到底是詐尸還是另有隱情周崭,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評(píng)論 4 330
  • 正文 年R本政府宣布喳张,位于F島的核電站续镇,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏销部。R本人自食惡果不足惜摸航,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望舅桩。 院中可真熱鬧酱虎,春花似錦、人聲如沸擂涛。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,745評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)撒妈。三九已至恢暖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間狰右,已是汗流浹背杰捂。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,983評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留棋蚌,地道東北人嫁佳。 一個(gè)月前我還...
    沈念sama閱讀 46,351評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像附鸽,于是被迫代替她去往敵國(guó)和親脱拼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容