一 MySQL概述 MySQL是一個很受歡迎的開源資料庫,當我從Oracle轉來做MySQL的時候,感覺最深刻的一點就是,這家伙居然是Server和Storage分開的!而且更不能忍的是,它竟然是插件式存儲引擎,每一種引擎的特點是很不相同的,當時我感覺這東西也太難學了吧,我要學多少個引擎啊。後來我發
一 MySQL概述
MySQL是一個很受歡迎的開源資料庫,當我從Oracle轉來做MySQL的時候,感覺最深刻的一點就是,這家伙居然是Server和Storage分開的!而且更不能忍的是,它竟然是插件式存儲引擎,每一種引擎的特點是很不相同的,當時我感覺這東西也太難學了吧,我要學多少個引擎啊。後來我發現不需要什麼都學,因為現在用的最多的引擎基本上只有InnoDB和MyISAM,而在5.5以後,InnoDB大行其道,因此很多DBA只需要把InnoDB搞精通就可以了。
這張圖是《高性能MySQL》中的一張插圖,大體說明瞭MySQL的架構,其中最有趣的地方我覺得就是插件式存儲引擎了。雖然說現在InnoDB應用廣泛,但是還是有很多引擎適用於不同的場景,比如列式存儲引擎infobright,做數據倉庫一流,比如tokuDB,擁有一流的插入效率,壓縮比也極高,非常適合於存儲日誌歸檔數據。這就是插件式存儲引擎的好處,用最合適的存儲引擎。
二 MySQL的分支
好用的開源軟體都有分支,Linux如此,MySQL也不例外。MySQL現在有兩個大的分支,MariaDB和Percona Server。其實我覺得Percona Server叫分支,倒不如叫MySQL的enhance版,因為我個人覺得,Percona Server更多的關註加強性能。另外Percona公司發佈的XtraBackup和pt-tookit好用到沒朋友的,這些利器可以讓DBA在管理MySQL時如虎添翼。Percona Server在我寫這個的時候還沒有正式的推出5.7版本,但是已經有了候選版本。
另外,大名鼎鼎的《高性能MySQL》的作者就是Percona公司的工程師執筆寫就的,堪稱MySQL界的經典,沒有之一的那種。
在MySQL AB公司被Sun收購之後,創始人發佈了MariaDB。MariaDB的版本號到5.5都是和官方版保持一致的,但是之後就直接開始了10這個版本號。MariaDB更多的關註於新的功能,比如Hash Join這個官方版到現在還沒有實現的演算法,比如並行複製這個官方版5.7才推出的功能。
之前發現CentOS已經把MySQL替換成了MariaDB,據資料顯示Facebook,Google等公司也已經轉向了MariaDB,他們據說都是擔心開源風險。其實大公司很多都有自己給MySQL提patch的能力,所以自己都有自己的分支。
------------------------------------------------------------------------------------------------------------------------------
今天又寫了這麼多亂七八糟的,看起來聽沒有用的,不過就算是熱身吧,聽得熱鬧說不定能勾起學習的興趣。