MySQL以前的發展是值得肯定的,發展也是相當成功的,然而,在MySQL經歷了2008年Sun的收購和2009年Oracle收購Sun的過程中,MySQL的步伐基本處於停滯發展的情況,在可以預見的未來,MySQL是肯定會被Oracle擱置並且逐步雪藏消滅掉的。MySQL隨著相應的各主創和內部開發人員的離去,締造了各個不同的引擎和分支,讓MySQL有希望繼續發揚光大起來。
本文大致講解一下MySQL目前除了主要的 MyISAM、InnoDB、Heap(Memory)、NDB 等引擎之外的其他引擎的發展和現狀,以及MySQL主干以外的分支的狀況,為了我們未來更好的使用MySQL或者其他分支建立一個了解基礎。
要了解主要存儲引擎,請參考手冊:http://dev.mysql.com/doc/refman/5.1/zh/index.html
MySQL存儲引擎介紹:
Falcon存儲引擎
Falcon存儲引擎是MySQL當時寄以厚望的存儲引擎,主要是為了面對當時Oracle收購了InnoBase公司的情況,用來取代InnoDB的一個存儲引擎。Falcon引擎的主導人員是大師Jim Starkey,從2006年開始開發,到2008年發布Beta版本,至今為止也沒有走入主流。2008年中旬,Falcon的主架構師Jim Starkey宣布從MySQL公司辭職,加入了一家創業公司NimbusDB擔任CEO,去設計和開發運行在雲計算上面的關系/語義數據庫,按照2010年目前NoSQL市場的發展來看,他的選擇是正確的,但是帶來的結果是Falcon陷入一個沒有主導人員的地步,導致了至今都屬於性能糟糕,半死不活的狀態。
Falcon引擎是MySQL AB公司基於Netfrastrucure公司的產品開發的(Netfrastrucure公司被MySQL AB收購),Falcon 當初的目標是嵌入到MySQL 6.0中用來取代InnoDB引擎,基本很多功能設計都是按照InnoDB的目標去設計的。
Falcon是面向多CPU、擁有大量內存的當代硬件環境和典型Web應用的 數據庫操作特點而開發的,主要功能包括多版本並發控制、完善的ACID支持、支持前綴壓縮的B+樹索引、數據頁壓縮在磁盤上以壓縮形式存儲,在內存中以 非壓縮形式存儲)、成組提交等。從功能方面來說沒有什麼新鮮事,大體也就實現了一個事務型存儲引擎必須要有的功能很多高級的功能如多表空間、分區等都還 沒有),但其架構上卻有很多獨特之處。
通過網上的一些測試結果Falcon的性能還是很糟糕的,寫入速度是 MyISAM 的 1/10 ~ 1/20,Select 的優化也有問題,添加了索引感覺還會進行全表掃描。所以,我終究感覺 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/