甲骨文戰略主導下 MySQL 數據庫將走向何方

 甲骨文戰略主導下 MySQL 數據庫將走向何方     

原文出自:http://www.lupaworld.com/article-216240-1.html       

導讀

2012年2月23日,甲骨文公司聯合上海愛可生信息技術有限公司,於上海舉辦的MySQL創新技術大會上宣佈 MySQL 5.6企業版本的開發藍圖,並且MySQL官方網站提前一天公佈停止更新MySQL 5.1版本的計劃,以及會議現場嘉賓分享與問答交流的信息,越來越使我們意識到MySQL數據庫產品,將會因甲骨文公司的市場戰略需要,而重新走向另外一 個MySQL用戶不太樂意看見的方向。

(一)   信息梳理

(1).     甲骨文於2005年10月份收購InnoDB存儲引擎開發商芬蘭公司Innobase;

(2).     SUN於2008年1月份收購MySQL AB公司;

(3).     甲骨文於2009年4月份收購SUN公司及其子公司的全部資產;

 

MySQL AB公司曾經希望能夠收購InnoDB存儲引擎開發商Innobase公司,並且一直有談判接觸,只是沒有談妥而已,MySQL AB公司與Innobase公司也是有簽署戰略合作協議。隨着開源MySQL數據庫產品對Oracle等商業數據庫產品的衝擊越來越大,尤其是 InnoDB存儲引擎完整優越地支持事務和細粒度的鎖,能解決大數據量存儲和高併發的訪問請求,而MySQL支持的其他存儲引擎並不能很好解決事務、細粒 度鎖等技術難題,使甲骨文公司感受到InnoDB存儲引擎帶來的威脅,只要控制MySQL數據庫產品的InnoDB存儲引擎,就等於掐斷MySQL數據庫 產品的競爭力,從而達到控制開源MySQL數據庫產品對Oracle數據庫產品的衝擊,這一招真是釜底抽薪,同時還可以在開源市場上提前佈局和分一杯羹。

自從甲骨文公司收購Innobase公司之後,甲骨文公司主席Charles Phillips 曾明確表示會支持開源數據庫產品的發展,但是InnoDB存儲引擎的研發與升級一直無進展,後還準備變更Innobase公司先前與MySQL AB公司簽署的合作協議,幸運的是合同還需要好幾年到期。

SUN收購MySQL AB公司,當時幾乎被所有人看好,甚至開源領域的人士認爲開源產品的春天即將到來。對於我們MySQL開源數據庫產品的使用者與愛好者而言,認爲SUN公 司擁有編程開發軟件、操作系統、硬件等,可以完美地整合成一套健全的解決方案,同時可以使生產線上的產品發揮最大優勢,對MySQL數據庫產品的改進與性 能提升、推廣等帶來極大的幫助。可惜世事難料,隨後美國發生次貸危機,把全球都帶入經濟危機中,SUN對MySQL AB公司的整合也出現一些裂痕,同時SUN公司也出現財務危機和產品市場佔有率下降嚴重,一場美好的夢就此破滅。

SUN公司高層把SUN出售給IBM最大的競爭對手之一甲骨文,通過收購SUN使甲骨文公司迅速實現幾個目標:

(1).     硬件研發團隊和研發技術,以及獲得大批SUN硬件產品消費的客戶資源;

(2).     大量的技術專利權;

(3).     企業解決方案與技術;

(4).     擁有程序員人數衆多,使用範圍廣泛的編程語言開發工具JAVA;

(5).     操作系統Solaris,而且Oracle數據庫產品跑在Solaris是性能最佳的,並且可以加速優化Oracle數據庫的性能;

(6).     能幫助甲骨文更好地服務現有的企業客戶,並且能給出一整套的解決方案資源;

(7).     可以完全控制開源MySQL數據庫產品的研發速度與發展勢頭,減少對其商業Oracle數據庫產品的衝擊,尤其是在中國等新型市場;

小道消息得知甲骨文可能要收購SUN的時候,MySQL圈及技術圈就開始擔心其未來的命運走勢,不得不感謝歐盟對 MySQL數據庫產品的支持,以及MySQL AB公司創始人、前僱員和開源社區貢獻者,紛紛要求甲骨文公司作出承諾,才批准甲骨文收購SUN,反觀我們國內的技術人卻什麼也做不了,我們的國家好像跟 此事情無關一樣也是啥也不去做,頓時感受到作爲某國公民的無奈。

各大新聞媒體、電視和網站報道,甲骨文公司正式宣佈74億美元收購SUN的消息,MySQL數據庫使用者與技術圈內的朋 友,分析SUN收購MySQL AB公司1年多點,緊接着甲骨文又收購SUN(備註:雖然次貸危機爆發,也不至於SUN這樣大手筆10億美元收購MySQL AB公司之後,以及出現大的財務危機),總覺得SUN當初收購MySQL AB公司是甲骨文背後支持與指使的行爲。

(二)   MySQL數據庫產品原本發展方向

衆所諸知MySQL數據庫產品之所發展迅猛,主要原因是:

(1).     MySQL AB公司對MySQL數據庫採用開放源碼的策略;

(2).     允許遵守GPL協議前提下,可免費使用MySQL數據庫產品;

(3).     第三方公司可以開發自己的數據存儲引擎,並且掛載到MySQL中,帶動一批第三軟件開發公司的成長;

(4).     全世界的技術愛好者,都可以向MySQL AB公司提出合理的開發需求,並且參與MySQL數據庫產品的研發過程;

(5).     MySQL數據庫產品非常容易讓技術工作者上手,並且能滿足互聯網企業的業務需求;

(6).     MySQL數據庫產品的輕型、穩定、高效,並且能很好地運行在硬件條件交差的PC Server上,這四個熱點解決了互聯網企業的困境;

分析完上述促使MySQL數據庫能獲得企業和技術人員青睞的因素,隨着互聯網行業發展、企業業務發展與數據量的增長,以 及IT技術的革新,硬件處理能力的高速發展,企業業務的複雜度增加和堆數據處理速度的要求等綜合因數,會使我們發現MySQL數據庫的處理能力越來越捉襟 見肘,無法充分利用PC Server的硬件資源,爲此MySQL數據庫的實現技術與算法必須進行革新,尤其底層的實現代碼必須考慮進行優化與重寫,爲此MySQL技術研發團隊原 本應該要做的事情,大致羅列如下:

(1).     修復MySQL積累的BUG與缺陷;

(2).     繼續修改MySQL底層源碼,正式支持SMP架構;

(3).     修改查詢優化器的算法;

(4).     修改MySQL在線DDL操作實現的算法;

(5).     增強MySQL數據庫的JOIN連接操作的算法支持,比如增加HASH算法、排序合併算法;

(6).     增強MySQL複製的數據安全性與恢復線程併發的支持;

(7).     增加MySQL對多主複製的支持;

(8).     修改MySQL Cluster的NDB存儲引擎,更好地實現Cluster的業務模型與提高NDB存儲引擎的性能;

(9).     開發新的存儲引擎替代InnoDB存儲引擎,或基於MyISAM存儲引擎基礎上開發一個新的類似InnoDB的存儲引擎,以擺脫甲骨文公司的制約;

(10). ……………………..

MySQL技術研發團隊也確實做了很多事情,爲此MySQL AB公司把MySQL數據庫的研發,分成幾個分支版本進行發展:

(1).     MySQL 6.0:主推NDB存儲引擎,提高分佈式數據庫的性能與功能改進;

(2).     MySQL 5.1: 基於MySQL 5.0的基礎之上,繼續完善MySQL數據庫的功能,以及改善MySQL數據庫對SMP架構的支持特性等;

(3).     MySQL 5.5:重新改寫MySQL底層源碼,以適應新的硬件環境,處理高併發大規模數據容量且業務場景負責的問題,以及支持新研發的多種存儲引擎;

非常遺憾的是連續被併購與資源整合,導致技術研發團隊的開發任務進度中斷和新存儲引擎的研發項目夭折,以及MySQL AB公司技術團隊研發人才流失嚴重,尤其公司創始人與管理層人員的出走,也制約研發項目的進展與質量保證。

(三)   甲骨文公司戰略主導下的MySQL數據庫產品方向

通過MySQL AB公司官方網站的版本發佈與BUG修復信息,我們大家可以發現MySQL AB公司被SUN收購,此後SUN又被甲骨文收購的這2年時間裏,MySQL數據庫研發速度是非常緩慢的,但是第三方公司對MySQL源碼改進與支持,尤 其像Percona、MariaDB等公司推出改進版本的MySQL數據庫產品,並且大量技術人員都開始測試與考慮使用這些第三方公司發佈的功能完善與性 能優越的MySQL,使甲骨文公司開始着急,爲此倉促地推出MySQL 5.5 GA版本。甲骨文MySQL 5.5 GA版本發佈會上海現場,本人曾經向時任MySQL AB公司的CTO提問,關於甲骨文如何看待MySQL的發展與資源投入,他無奈地說:他們是和尚,只管唸經不問俗事,發佈會之後私底下也有一番溝通與探 討,明顯感覺到甲骨文公司高層也非常困惑,大致有以下幾點:

(1).     甲骨文公司並不想投入很多資源與精力,重點發展MySQL數據庫產品;

(2).     有技術社區的支持,MySQL數據庫產品的研發能力與速度會使MySQL數據庫產品越來越優秀;

(3).     MySQL數據庫產品對甲骨文的Oracle數據庫市場衝擊越來越大;

(4).     甲骨文公司收購SUN之後,大量原MySQL AB公司的僱員離職,創辦自己的公司,並從事MySQL數據庫產品的技術研發與服務提供;

(5).     甲骨文公司不發展MySQL數據庫產品,但是其他第三方公司研發的MySQL數據庫產品越來越好,將不久取代MySQL AB公司在開源領域的地位;

(6).     甲骨文公司收購SUN時,曾經對歐盟、MySQL AB公司、開源社區等作出過承諾,也不能完全失信於人,否則可能給自己開拓市場帶來負面影響;

自從甲骨文決定繼續投入資源發展MySQL數據庫產品,可以逐漸清晰甲骨文公司對MySQL數據庫產品的重新市場定位與 戰略規劃。MySQL AB公司長期以來,都不重視對Windows平臺的支持,我們大家可以發現MySQL 5.5之前的所有版本,同一版本號的MySQL產品運行在Windows平臺和Linux平臺之間一對比,會發現Windows平臺的性能遠遠低於其他平 臺,Windows平臺上MySQL數據庫產品BUG衆多,MySQL數據庫修復的BUG List中幾乎很少提到針對Windows平臺的修復信息。

MySQL數據庫主要是運行在Linux或類Linux操作系統(注:少量運行在Solaris系統上)之上,而大量企 業的Oracle數據庫是運行在AIX、Solaris、Linux系統之上,若是把Oracle數據庫支持的數據服務,遷移到MySQL數據庫平臺上, 那麼可以節約大量資金,大致如下:

(1).     Oracle數據庫的License費用可以全免或大規模降低(注:MySQL數據庫是社區版本免費,企業版本收費);

(2).     Oracle數據庫產品多數搭配存儲設備與小雞一起使用,而MySQL數據庫主要運行在廉價的PC Server上,可以爲企業節約大量資金投入;

(3).     Oracle數據庫運行在AIX、Solaris(注:分社區與企業,社區要差很多)收費操作系統上,且搭配存儲設備使用,主要是能更好發揮Oracle數據庫的性能,使用MySQL之後也可以減少部分費用(注:多數跑在開源的Linux系統之上);

(4).     Oracle數據庫產品支持的多數業務,可以使用MySQL搭配InnoDB存儲引擎的模式替換;

(5).     Oracle數據庫產品的License費用、運行的設備與系統等,不利於企業花費較少費用就能處理互聯網行業大數據量的要求,也即不得不花費更多的錢購 買存儲設備與購買License費用,否則對數據進行拆分存儲無法推薦,然後MySQL卻有天然的優勢;

(6).     MySQL數據庫產品對開發人員要求不高,學習成本非常低,且MySQL數據庫技術使用人羣越來越多,數據庫解決方案也越來越成熟;

上述6點,以及MySQL數據庫產品對Windows平臺支持不重視,導致MySQL數據庫產品主要是取代Oracle 數據庫產品的市場份額,爲此甲骨文公司決定投入大量資源改進MySQL數據庫對Windows平臺的支持,同時大力發展MySQL數據庫維護的圖形化工 具,以幫助使用Windows平臺的企業和技術人員,放棄SQL Server數據庫產品之後,降低學習成本,從而更加符合和吸引Windows平臺的企業和技術人員。甲骨文公司投入大量資源之後,MySQL數據庫產品 修復大量Windosw平臺上的BUG,大幅提升了Windows平臺上運行的性能(注:確實可以用提升100倍以上形容),通過這一系列的投入與市場宣 傳推廣,甲骨文公司可以達到不失信於人,繼續發展與鞏固MySQL數據庫產品的地位,同時把MySQL數據庫產品佔領市場的戰場正式引向競爭對手之一—微 軟的SQL Server數據庫產品,部分減輕MySQL數據庫產品對Oracle數據庫的衝擊,屬於一舉多得的戰略行爲。

(四)   擔憂

1)         技術研發人員分散

MySQL數據庫屬於甲骨文資產之後,MySQL AB創始人接二連三出走,以及產品研發團隊出現大批技術人員的離職,多數離職之後創辦自己的公司,欣慰的是繼續投入開源MySQL數據庫領域,只是他們有 些人對MySQL進行裁剪後獨立發展,例如: SkySQL等,有些是研發新的存儲引擎,例如Percona、MariaDB….這樣會導致MySQL開源領域的研發技術實力分散,不利於促進 MySQL數據庫的功能完善與技術革新,畢竟早期開發的MySQL版本主要是跑在價格低廉,性能一般的PC Server上,但是近幾年PC Server 的硬件處理能力得到飛速發展,甚至現在的PC Server比抵擋存儲設備的性能優越。MySQL數據庫產品必須加快速度,改寫源碼實現對PC Server的SMP架構支持,對SSD硬盤等新型技術的支持,現階段SSD硬盤越來越接近生產環境的要求,性價比也越來越有競爭優勢,爲此非常擔心 MySQL數據庫產品錯過美好的發展時機,而無法完善自己的產品功能、快速提升處理能力、提高產品的穩定性等。

2)         甲骨文公司的資源投入

相信隨着PC Server處理能力的提高和SSD硬盤等硬件的快速發展,MySQL數據庫產品的功能完善、性能和穩定性提高,對Oracle數據庫產品的衝擊會加劇, 並且可能***到對數據庫要求更高的領域,恰恰又是Oracle數據庫產品的主要市場與收入來源。雖然MySQL數據庫產品得到發展,甲骨文公司從 MySQL數據庫產品上獲得的收益未必會大幅增加,甚至繼續出現投入產出負比例的情況,甲骨文公司除繼續保持MySQL數據庫企業版本閉源,與不向社區提 供源碼貢獻的策略之外,還可能減少投入與限制MySQL數據庫社區版本的發展,本身企業版本不向社區版本貢獻源碼的做法,時間越久越可能出現社區版本落後 於企業版本的情況。

甲骨文公司寄希望於MySQL數據庫產品,能夠搶佔微軟SQL Server數據庫產品的市場份額,然後多數中小企業都是使用盜版的Windows操作系統與盜版的SQL Server數據庫產品,可能只有部分企業纔會考慮把SQL Server數據庫的數據遷移到MySQL數據庫中。另外,甲骨文公司與合作伙伴(例如:國內的愛可生)想把MySQL數據庫產品打入傳統的生產製造企業 市場,2-3年內可能非常難取得突破性進展,大致的原因:

(1).     中小型生產製造型企業本身就可能使用盜版的SQL Server數據庫產品;

(2).     中小型生產製造企業沒有維護MySQL數據庫的技術人員,也不太會爲此投入更多資金;

(3).     生產製造企業對系統穩定性的要求非常高,比互聯網行業更高;

(4).     生產製造企業投入到軟件系統的資金與費用是可控與有付費對象的,沒有必要爲了不一定省錢的技術革新行爲而換數據庫產品

(5).     全球的經濟不景氣,生產製造企業受傷害最大,更沒有精力投入到系統的數據庫產品更換一事上;

(6).     生產製造企業的系統,一般都是採購第三方公司的產品,且穩定運行之後,很少出現大的改動或更新,爲此不可能爲了一點點利益而冒風險更換數據庫產品;

3)         MySQL數據庫產品成爲甲骨文公司***SQL Server數據庫的工具

前面已經闡述過,甲骨文公司爲何要發展MySQL數據庫對Windows系統的支持,就是希望利用MySQL數據庫產品 搶佔SQL Server數據庫的市場份額,爲此可能出現甲骨文大力度優先發展Windows平臺的MySQL數據庫產品和圖形化維護管理工具性軟件,而忽略其他平臺 的MySQL數據庫產品技術革新與發展,從而錯過美好的發展時機。MySQL數據庫產品是基於GPL協議的,但是可能存在一些技術專利侵犯到其他數據庫廠 商的利益,包過微軟公司,爲此可能導致微軟公司向甲骨文公司提出專利訴訟,從而也會間接限制MySQL數據庫產品發展。

4)         MySQL數據庫變得越來越臃腫

甲骨文要想讓MySQL數據庫產品搶佔SQL Server數據庫產品的市場份額,必然會爲MySQL數據庫產品添加非常多,類似於SQL Server數據庫產品的功能,再加入一些其他熱門技術產品方向的支持,例如對NoSQL、MemCached等支持,從MySQL 5.6版本公開的開發任務列表也可以佐證,這樣必然會使MySQL數據庫產品越來越臃腫,從而失去MySQL數據庫產品的三個特點:輕、快、穩,也即數據庫功能不復雜且滿足多數業務需求,數據和業務處理的性能非常優越,數據庫服務器運行穩定,這三個特點也是MySQL數據庫獲得互聯網企業和技術人員青睞的重要原因之一。

結束語

撰寫此文目的是希望能引起更多技術人員及企業,對MySQL數據庫產品發展的關注,也相信MySQL數據庫產品應用的前 景會越來越大,但是我們要監督甲骨文公司對MySQL數據庫研發資源的投入與產品發展方向的關注。對於很多MySQL使用者最關心的問題,甲骨文是否會對 MySQL數據庫社區版本也進行閉源,也即可能是關閉MySQL社區的擔憂,這是無需擔憂的事情,MySQL數據庫是基於GPL協議的,所以甲骨文公司無 法單方面作出此決定。考慮到甲骨文公司因市場戰略需要,而導致MySQL產品向我們大家不希望的方向發展,同時多關注第三研發公司的MySQL版本,尤其 推薦MariaDB、Percona。

   甲骨文戰略主導下 MySQL 數據庫將走向何方 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章