溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL數(shù)據(jù)庫存儲和分支是怎樣的

發(fā)布時間:2021-10-13 15:03:16 來源:億速云 閱讀:133 作者:柒染 欄目:數(shù)據(jù)庫

今天就跟大家聊聊有關(guān)MySQL數(shù)據(jù)庫存儲和分支是怎樣的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

  在MySQL經(jīng)歷了2008年Sun的收購和2009年Oracle收購Sun的過程中,基本處于停滯發(fā)展的情況,在可以預(yù)見的未來,MySQL是肯定會被Oracle擱置并且逐步雪藏消滅掉的。MySQL隨著相應(yīng)的各主創(chuàng)和內(nèi)部開發(fā)人員的離去,締造了各個不同的引擎和分支,讓MySQL有希望繼續(xù)發(fā)揚(yáng)光大起來。

  【MySQL存儲引擎介紹】

  [ Falcon存儲引擎 ]

  Falcon存儲引擎是MySQL當(dāng)時寄以厚望的存儲引擎,主要是為了面對當(dāng)時Oracle收購了InnoBase公司的情況,用來取代InnoDB的一個存儲引擎。Falcon引擎的主導(dǎo)人員是大師Jim Starkey,從2006年開始開發(fā),到2008年發(fā)布Beta版本,至今為止也沒有走入主流。2008年中旬,F(xiàn)alcon的主架構(gòu)師Jim Starkey宣布從MySQL公司辭職,加入了一家創(chuàng)業(yè)公司NimbusDB擔(dān)任CEO,去設(shè)計和開發(fā)運(yùn)行在云計算上面的關(guān)系/語義數(shù)據(jù)庫,按照2010年目前NoSQL市場的發(fā)展來看,他的選擇是正確的,但是帶來的結(jié)果是Falcon陷入一個沒有主導(dǎo)人員的地步,導(dǎo)致了至今都屬于性能糟糕,半死不活的狀態(tài)。

  Falcon引擎是MySQL AB公司基于Netfrastrucure公司的產(chǎn)品開發(fā)的(Netfrastrucure公司被MySQL AB收購),F(xiàn)alcon 當(dāng)初的目標(biāo)是嵌入到MySQL 6.0中用來取代InnoDB引擎,基本很多功能設(shè)計都是按照InnoDB的目標(biāo)去設(shè)計的。

  Falcon是面向多CPU、擁有大量內(nèi)存的當(dāng)代硬件環(huán)境和典型Web應(yīng)用的 數(shù)據(jù)庫操作特點(diǎn)而開發(fā)的,主要功能包括多版本并發(fā)控制、完善的ACID支持、支持前綴壓縮的B+樹索引、數(shù)據(jù)頁壓縮(在磁盤上以壓縮形式存儲,在內(nèi)存中以 非壓縮形式存儲)、成組提交等。從功能方面來說沒有什么新鮮事,大體也就實(shí)現(xiàn)了一個事務(wù)型存儲引擎必須要有的功能(很多高級的功能如多表空間、分區(qū)等都還 沒有),但其架構(gòu)上卻有很多獨(dú)特之處。

  通過網(wǎng)上的一些測試結(jié)果Falcon的性能還是很糟糕的,寫入速度是 MyISAM 的 1/10 ~ 1/20,Select 的優(yōu)化也有問題,添加了索引感覺還會進(jìn)行全表掃描。所以,我終究感覺 Falcon 是個杯具的引擎。

  Falcon特性:http://dev.mysql.com/doc/falcon/en/se-falcon-features.html

  Falcon測試:http://blog.gslin.org/archives/2008/02/12/1425/

  Falcon手冊:http://dev.mysql.com/doc/falcon/en/

  數(shù)據(jù)庫

  [ SolidDB存儲引擎]

  solidDB存儲引擎是由Solid Information Technology(http://www.soliddb.com) 開發(fā)的,這是一款利用MVCC來實(shí)現(xiàn)的事務(wù)型存儲引擎。它既同時支持悲觀和樂觀并發(fā)控制,這一點(diǎn)其他的存儲引擎目前都不支持。solibDB的MySQL 版本包括對外鍵的完全支持。它在許多方面與InnoDB很相似,比如它使用了簇索引。solidDB還包括一個沒有額外開銷的在線備份功能。

  solidDB公司已經(jīng)由2008年被IBM收購,主要是用于整合為IBM數(shù)據(jù)庫整合方案的一部分,目前是作為一個前端數(shù)據(jù)緩存的這么一個角色存在。IBM收購solidDB公司,主要是因為甲骨文在2005年6月收購了Solid Information Technology主要競爭對手TimesTen,為了在內(nèi)存數(shù)據(jù)庫這塊市場上有所依托,所以收購了 solidDB公司。

  solidDB產(chǎn)品是一個完整的打包程序,包括solidDB存儲引擎、MyISAM存儲引擎以及MySQL服務(wù)器。solidDB與MySQL之間的結(jié)合出現(xiàn)于2006年的晚些時候。但是底層的技術(shù)以及代碼卻是經(jīng)過了該公司15年的完善。Solid公司保證和支持了整個產(chǎn)品。它是基于GPL協(xié)議的,并且提供了一個類似于MySQL服務(wù)器形式的商業(yè)版本。

  性能上來說,SolidDB for MySQL開源數(shù)據(jù)庫再次被證明能夠完全滿足高吞吐量、關(guān)鍵任務(wù)級應(yīng)用對系統(tǒng)性能和可擴(kuò)展性的要求。

  但是就 solidDB被IBM收購,MySQL對Oracle收購的情況來看,基本上 solidDB for MySQL 是一個沒法繼續(xù)被MySQL使用的引擎,所以也是一個杯具的MySQL引擎。

  官方網(wǎng)站:http://www.ibm.com/software/data/soliddb/

  [ XtraDB存儲引擎 ]

  XtraDB存儲引擎是percona公司對于innodb存儲引擎進(jìn)行改進(jìn)加強(qiáng)后的產(chǎn)品,第一個版本發(fā)布于2008年底。XtraDB兼容innodb的所有特性,并且在IO性能,鎖性能,內(nèi)存管理等多個方面進(jìn)行了增強(qiáng)。

  Percona是一個MySQL技術(shù)咨詢公司,他們有一個在MySQL領(lǐng)域很有名的技術(shù)博客叫做 Mysql Performance Blog,同時他們編寫了一本很有名的MySQL書叫做《High Performance MySQL》,目前也出版了中文版。他們公司還有一個很有名的MySQL備份工具叫做 XtraBackup。

  XtraDB的設(shè)計目標(biāo)也是取代InnoDB作為目標(biāo),它是基于InnoDB來做的開發(fā),XtraDB 100%的兼容 InnoDB,通常可以認(rèn)為 XtraDB 是 InnoDB的升級或者替代版本。在性能上來說,目前 XtraDB 是非常高的,在大部分情況下也是比較穩(wěn)定的,值得你嘗試使用。同樣XtraDB也是未來感覺很有前途的一個存儲引擎,值得我們期待。

  性能測試:http://www.mysqlperformanceblog.com/2009/07/14/performance-improvements-in-percona-5-0-83-and-xtradb/

  使用情況:http://www.ningoo.net/html/2009/xtradb_storage_engine.html

  引擎介紹:http://www.percona.com/docs/wiki/percona-xtradb:start

  引擎:http://www.percona.com/percona-builds/Percona-XtraDB/

  公司官網(wǎng):http://www.percona.com

  性能博客:http://www.mysqlperformanceblog.com

  [ Maria存儲引擎 ]

  Maria由MySQL的創(chuàng)始人,MyISAM的作者M(jìn)onty (Michael Widenius) 開發(fā),命名為Maria是因為他的第三個小孩就叫Maria。Maria是Monty在MySQL公司的時候就開始開發(fā)的一個MySQL的分支引 擎,Sun收購MySQL后,因為與Sun針對MySQL團(tuán)隊的一些問題不和,然后在2009年初離開了Sun,成立了 Monty Program Ab 公司,專門用于針對 Maria 引擎的開發(fā),同時開發(fā)了一個MySQL的分支,叫做 MariaDB。

  Maria是一個MySQL的存儲引擎,利用它來擴(kuò)展MyISAM使之在異常退出時文件不至于損壞。Maria的主要目的是作為更好的 MyISAM,提供崩潰后的故障恢復(fù)功能。更長遠(yuǎn)的目標(biāo)是成為一個全功能的事務(wù)型存儲引擎,支持ACID、回滾、多版本并發(fā)控制、行級鎖、成組提交,同時 也可以選擇不支持事務(wù),最終代替MyISAM成為MySQL的默認(rèn)存儲引擎。

  目前Maria引擎有針對MySQL 5.1 的版本,基本上就是一個增加了崩潰恢復(fù)功能的MyISAM,使用表級鎖,但可以做到讀寫不沖突,即在進(jìn)行任何類型的更新操作的同時都可以進(jìn)行讀操作,但多個寫操作不能并發(fā)。

  Maria的特點(diǎn):

  1. 多版本并發(fā)控制,ACID支持

  2. 通過拷貝日志就能進(jìn)行增強(qiáng)備份

  3. 高效的磁盤存儲

  Maria 引擎開發(fā)之初就是用來取代MyISAM的存儲引擎,并且目前按照我了解有些在使用公司的情況,運(yùn)行情況挺不錯,大家也可以嘗試一下。Maria 在目前有MySQL創(chuàng)始人帶領(lǐng)的情況下,也是一個非常有前途的的存儲引擎,值得期待。

  Maria下載:http://askmonty.org/wiki/MariaDB:Download

  Maria手冊:http://askmonty.org/wiki/Maria

  [PrimeBase XT (PBXT) 存儲引擎 ]

  PBXT 是 PrimeBase 公司推出的MySQL插件引擎,其功能和 InnoDB 類似,它是一款事務(wù)型存儲引擎,并且它的設(shè)計是很獨(dú)特的。它的一個很與眾不同的特征就是如何來使用事務(wù)日志和數(shù)據(jù)文件來防止“write-ahead”日 志,這可以極大的減少事務(wù)提交的開銷。這個架構(gòu)給了PBXT很大的提高寫并發(fā)的空間,并且測試也表明它在某些特定的操作下比InnoDB要快。PBXT也 使用了MVCC并且支持外鍵約束,但是它不使用簇索引。

  主要特性如下:

  MVCC的 :多版本并發(fā)控制,使讀操作沒有鎖定

  事務(wù)性 :支持啟動開始,COMMIT和ROLLBACK和恢復(fù)上

  ACID標(biāo)準(zhǔn) :原子性,一致性,隔離,持久(一次提交的更改不能丟失)

  行級鎖定 :更新使用行級鎖的并發(fā)允許最大并發(fā)量

  死鎖檢測 :立即通知如果客戶端進(jìn)程已陷入死鎖

  參照完整性 :外鍵的支持。

  寫一次 :PBXT避免的架構(gòu)雙寫入使用日志。

  BLOB的流 :在結(jié)合的 BLOB Streaming engine.。 (http://www.blobstreaming.org/)

  按照有人的測試結(jié)果來看,PBXT存儲引擎版本的TPS隨著線程數(shù)的增長,表現(xiàn)比較穩(wěn)定,性能上與innodb差不多,長期來看,它的目標(biāo)也是作為 一個能夠取代InnoDB的存儲引擎。而且目前 MariaDB 這個分支已經(jīng)把 PBXT 作為內(nèi)置的存儲引擎,所以也是可以嘗試使用的一個引擎。

  【MySQL分支介紹】

  [ MariaDB ]

  MariaDB 是一個采用 Maria 存儲引擎的 MySQL 分支版本,是由原來 MySQL 的作者 Michael Widenius (Monty) 創(chuàng)辦的Monty Program Ab公司所開發(fā)的免費(fèi)開源的數(shù)據(jù)庫服務(wù)器?;旧?MariaDB 的歷史跟我上面講的 Maria 存儲引擎歷史一樣。MariaDB的設(shè)計目標(biāo)就是用來取代 MySQL Server。Monty是開源數(shù)據(jù)庫聯(lián)盟(Open Database Alliance)的發(fā)起者,所以 MariaDB 也是開源數(shù)據(jù)庫聯(lián)盟的成員。

  MariaDB基于事務(wù)的Maria存儲引擎,替換了MySQL的MyISAM存儲引擎,它使用了Percona的 XtraDB引擎來替換I

看完上述內(nèi)容,你們對MySQL數(shù)據(jù)庫存儲和分支是怎樣的有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI