甲骨文封閉MySQL 谷歌轉(zhuǎn)向分支MariaDB
據(jù)悉,Google正在啟動(dòng)舍棄MySQL轉(zhuǎn)向MariaDB的計(jì)劃。在XLDB會(huì)上,Google網(wǎng)站可靠度部門(mén)(SRE)資深系統(tǒng)工程師、Google內(nèi)部MySQL數(shù)據(jù)庫(kù)主管Jeremy Cole揭露了Google大規(guī)模淘汰MySQL的計(jì)劃:淘汰內(nèi)部數(shù)千臺(tái)MySQL數(shù)據(jù)庫(kù),改換開(kāi)源數(shù)據(jù)庫(kù)MariaDB,部分?jǐn)?shù)據(jù)庫(kù)已改用最新MariaDB 10.0版。
Google在2013年初就開(kāi)始與MariaDB基金會(huì)溝通轉(zhuǎn)向MariaDB的計(jì)劃,并希望轉(zhuǎn)換過(guò)程中降低數(shù)據(jù)庫(kù)遷移的風(fēng)險(xiǎn)。MariaDB是從MySQL獨(dú)立出來(lái)的另一套衍生數(shù)據(jù)庫(kù)(Folk版本),而且都來(lái)自相同的創(chuàng)始人Michael Widenius(代號(hào)Monty)和其他創(chuàng)始人在1994年開(kāi)始開(kāi)發(fā)MySQL,2008年將MySQL賣(mài)給了Sun,傳為開(kāi)源軟體商業(yè)化的經(jīng)典案例。
甲骨文讓MySQL變成了封閉平臺(tái)
MySQL更是逐漸擴(kuò)大市場(chǎng),推出受市場(chǎng)用戶歡迎的5.5版,但隨著甲骨文收購(gòu)了Sun,MySQL二度易主,MySQL社群擔(dān)心甲骨文封閉而紛紛出走,Michael Widenius因而推出了與MySQL相容的MariaDB,而MySQL原有高層則成立了SkySQL公司,與甲骨文主導(dǎo)的MySQL進(jìn)行市場(chǎng)競(jìng)爭(zhēng),由此如今MySQL最被廣泛使用的是2010年5.5版。
甲骨文讓MySQL變成了封閉平臺(tái)
對(duì)于Google來(lái)說(shuō),早在MySQL 4.0版時(shí)就開(kāi)始采用,在開(kāi)發(fā)出BigTable檔案系統(tǒng)前,很多服務(wù)都使用MySQL。直到現(xiàn)在,Google仍有許多MySQL數(shù)據(jù)庫(kù),其版本橫跨了從4.0版到較新的MySQL 5.1版。盡管如此,未進(jìn)一步提及Google數(shù)據(jù)庫(kù)遷徙的詳情,但對(duì)MySQL的觀點(diǎn)上看出,Google用MariaDB取代MySQL背后的考量。
MySQL的優(yōu)點(diǎn)是簡(jiǎn)易查詢(xún)的效率較高,通常能以小于500微秒時(shí)間回應(yīng),此外,MySQL也有一個(gè)相對(duì)穩(wěn)定的數(shù)據(jù)儲(chǔ)存層InnoDB,安裝與操作都相對(duì)容易,同時(shí)也有許多網(wǎng)絡(luò)學(xué)習(xí)資源可供利用。缺點(diǎn)是不擅長(zhǎng)應(yīng)付圖形數(shù)據(jù)(Graph Data),而且大量執(zhí)行ID generation功能時(shí)效率慢,特別是收購(gòu)MySQL的甲骨文注重華麗的新功能,而忽視了MySQL的穩(wěn)定性與整體效率。
另外,甲骨文主導(dǎo)下的MySQL適合用管理小于1.5TB的數(shù)據(jù),或大量數(shù)據(jù)的后端備份系統(tǒng)。較少修正來(lái)自使用者、開(kāi)發(fā)社群對(duì)新功能的需求,雖然MySQL是開(kāi)放源碼的數(shù)據(jù)庫(kù),但甲骨文讓MySQL變成了封閉平臺(tái)。#p#
正如之前談到,MariaDB雖然MySQL是同源所生的程序平臺(tái),但運(yùn)作的理念卻不同。MariaDB是由Michael Widenius領(lǐng)導(dǎo),并囊括了許多最初開(kāi)發(fā)MySQL的開(kāi)發(fā)人員,創(chuàng)立目的就是為了擺脫甲骨文的控制。它采用了新的存儲(chǔ)引擎,并兼容MySQL 5.5版本,目前的MariaDB 10.0版建立在MySQL 5.6版本的完全復(fù)制版本(Fork)之上。
MySQL轉(zhuǎn)移至MariaDB將成趨勢(shì)
隨著甲骨文在2010主導(dǎo)了MySQL之后,有逐漸將源代碼封閉的傾向。因此,開(kāi)源碼社群以MySQL為基礎(chǔ)發(fā)展出了MariaDB的分支,希望維持開(kāi)放源碼的特性。隨著MariaDB和MySQL到目前為止其數(shù)據(jù)格式可以互通,導(dǎo)致許多企業(yè)都有將數(shù)據(jù)庫(kù)系統(tǒng)轉(zhuǎn)換的計(jì)劃,例如,維基百科早已將數(shù)據(jù)庫(kù)從MySQL換成MariaDB。
MySQL轉(zhuǎn)移至MariaDB將成趨勢(shì)
Google舍棄MySQL而改用MariaDB上,業(yè)界專(zhuān)家分別從甲骨文MySQL和MariaDB的兩個(gè)方面來(lái)談。甲骨文MySQL并不支持外部的更新機(jī)制,甲骨文并未保證未來(lái)MySQL源代碼的開(kāi)放性,此外,MySQL對(duì)越新的程序代碼不再提供測(cè)試環(huán)境,使得甲骨文之外的開(kāi)發(fā)者無(wú)法在MySQL上撰寫(xiě)新的功能。
MariaDB報(bào)表說(shuō)明(來(lái)源dzone.com)
而對(duì)于MariaDB平臺(tái),企業(yè)能夠直接與開(kāi)源碼社群的開(kāi)發(fā)者討論,計(jì)劃開(kāi)發(fā)新功能并保證其開(kāi)放源碼的特性,最重要的是MariaDB提供了許多業(yè)務(wù)上的關(guān)鍵的功能,同時(shí)Google在其核心數(shù)據(jù)庫(kù)管理系統(tǒng)上擺脫甲骨文的控制,MariaDB將成為未來(lái)數(shù)據(jù)庫(kù)的主流。
MariaDB統(tǒng)計(jì)(來(lái)源dzone.com)
筆者也了解到,由于MariaDB與MySQL其數(shù)據(jù)格式可互通,所有與MySQL相關(guān)的工具、應(yīng)用程序與連接器(Connector),都可以直接在MariaDB上使用,讓MySQL的使用者可以輕易的轉(zhuǎn)移至MariaDB。特別注意的是復(fù)雜的查詢(xún)上,效率高過(guò)MySQL,而在Replication Setup上的速度,MariaDB也比MySQL高很多。