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

openkk 12年前發布 | 33K 次閱讀 MySQL

導讀

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。

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!