本文大致講解一下MySQL目前除了主要的 MyISAM、InnoDB、Heap(Memory)、NDB 等引擎之外的其他引擎的發(fā)展和現(xiàn)狀,以及MySQL主干以外的分支的狀況,為了我們未來更好的使用MySQL或者其他分支建立一個(gè)了解基礎(chǔ)。
MySQL存儲(chǔ)引擎介紹
Falcon存儲(chǔ)引擎
Falcon存儲(chǔ)引擎是MySQL當(dāng)時(shí)寄以厚望的存儲(chǔ)引擎,主要是為了面對(duì)當(dāng)時(shí)Oracle收購了InnoBase公司的情況,用來取代InnoDB的一個(gè)存儲(chǔ)引擎。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è)計(jì)和開發(fā)運(yùn)行在云計(jì)算上面的關(guān)系/語義數(shù)據(jù)庫,按照2010年目前NoSQL市場(chǎng)的發(fā)展來看,他的選擇是正確的,但是帶來的結(jié)果是Falcon陷入一個(gè)沒有主導(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è)計(jì)都是按照InnoDB的目標(biāo)去設(shè)計(jì)的。
Falcon是面向多CPU、擁有大量?jī)?nèi)存的當(dāng)代硬件環(huán)境和典型Web應(yīng)用的 數(shù)據(jù)庫操作特點(diǎn)而開發(fā)的,主要功能包括多版本并發(fā)控制、完善的ACID支持、支持前綴壓縮的B+樹索引、數(shù)據(jù)頁壓縮(在磁盤上以壓縮形式存儲(chǔ),在內(nèi)存中以 非壓縮形式存儲(chǔ))、成組提交等。從功能方面來說沒有什么新鮮事,大體也就實(shí)現(xiàn)了一個(gè)事務(wù)型存儲(chǔ)引擎必須要有的功能(很多高級(jí)的功能如多表空間、分區(qū)等都還 沒有),但其架構(gòu)上卻有很多獨(dú)特之處。
通過網(wǎng)上的一些測(cè)試結(jié)果Falcon的性能還是很糟糕的,寫入速度是 MyISAM 的 1/10 ~ 1/20,Select 的優(yōu)化也有問題,添加了索引感覺還會(huì)進(jìn)行全表掃描。所以,我終究感覺 Falcon 是個(gè)杯具的引擎。
Falcon特性:http://dev.mysql.com/doc/falcon/en/se-falcon-features.html
Falcon測(cè)試:http://blog.gslin.org/archives/2008/02/12/1425/
Falcon手冊(cè):http://dev.mysql.com/doc/falcon/en/
SolidDB存儲(chǔ)引擎
SolidDB存儲(chǔ)引擎是由Solid Information Technology(http://www.SolidDB.com) 開發(fā)的,這是一款利用MVCC來實(shí)現(xiàn)的事務(wù)型存儲(chǔ)引擎。它既同時(shí)支持悲觀和樂觀并發(fā)控制,這一點(diǎn)其他的存儲(chǔ)引擎目前都不支持。solibDB的MySQL 版本包括對(duì)外鍵的完全支持。它在許多方面與InnoDB很相似,比如它使用了簇索引。SolidDB還包括一個(gè)沒有額外開銷的在線備份功能。
新聞熱點(diǎn)
疑難解答
圖片精選