前段時間,筆者與一位資深開發(fā)者聊天,得知他作為后端工程師,輾轉于多個軟件服務公司,所服務的客戶涵蓋零售、交通、金融、互聯(lián)網等行業(yè)。我問他接觸最多的數(shù)據庫是什么?他脫口而出:“MySQL!”
MySQL可能是很多數(shù)據庫從業(yè)者的啟蒙數(shù)據庫。DB-Engines官網6月最新數(shù)據顯示,MySQL是全球最受歡迎的開源數(shù)據庫。在所有數(shù)據庫排名中,MySQL僅次于Oracle,穩(wěn)居全球數(shù)據庫亞軍之位。
(圖片源自DB-Engines官網)
近年來,開源數(shù)據庫成為數(shù)據庫發(fā)展的一大趨勢,備受關注。今天,我們就來扒一扒開源數(shù)據庫“課代表”MySQL的前世今生。
數(shù)據庫“老炮兒”MySQL發(fā)家史
(一)數(shù)據庫“老炮兒”MySQL
MySQL的歷史最早可以追溯到1979年,距今已有43年歷史。
1996年10月,MySQL的首個穩(wěn)定版本 3.11.1發(fā)布。此時正值互聯(lián)網發(fā)展初期,一切充滿著希望。1999年,瑞典MySQL AB公司成立。
進入新世紀,MySQL邁出了重要一步。2000年,MySQL采用GPL(General Public License)許可協(xié)議開源。2005年10月,發(fā)布了MySQL 5.0,在5.0中加入了游標、存儲過程、觸發(fā)器、視圖和事務支持等功能模塊。至此,MySQL正式進入高性能數(shù)據庫行列。
2006年,Oracle收購InnoDB引擎,這深刻影響了后來MySQL的發(fā)展——因為MySQL被賣身兩次后歸于Oracle麾下。2008年,瑞典MySQL AB公司被Sun收購。次年,Sun被Oracle收購,MySQL數(shù)據庫被一并納入Oracle,進入Oracle MySQL時代。2010年發(fā)布的MySQL5.5版本中,將其默認的存儲引擎由MyISAM更換為InnoDB。
進入移動互聯(lián)網時代后,MySQL發(fā)布了穩(wěn)定的經典版本:2013年發(fā)布MySQL 5.6;2015年發(fā)布MySQL 5.7;2018年4月,MySQL 8.0正式發(fā)行(GA);MySQL的最新版本8.0.29于2022年4月26日正式發(fā)行(GA)。
(MySQL數(shù)據庫發(fā)展歷程圖)
(二)流行:數(shù)據庫領域的“萬人迷”
當您瀏覽本文的時候,后臺很可能由MySQL數(shù)據庫在提供支撐。MySQL的應用十分廣泛。新世紀初期,未來的互聯(lián)網巨頭剛剛萌芽,但是商業(yè)數(shù)據庫太過昂貴,對技術人員的能力要求也較高,開源數(shù)據庫成為大家的新選擇。
全球范圍內,美國雅虎公司率先大規(guī)模使用MySQL數(shù)據庫。在其影響下,海內外互聯(lián)網公司開始自己的MySQL應用之路,如Google、Facebook、阿里巴巴、百度、騰訊等公司以及90%以上的互聯(lián)網公司都會或多或少地應用MySQL數(shù)據庫。
自此,以 MySQL 為代表的開源數(shù)據庫產品引領了數(shù)據庫技術發(fā)展方向,在解決客戶需求的同時,也培育了客戶使用習慣,從而贏得了大量客戶。
無論在海外還是中國,MySQL都是最流行的開源數(shù)據庫,擁有廣泛的受眾,是數(shù)據庫領域的“萬人迷”。從DB-Engines流行度趨勢圖可以看到,MySQL與Oracle幾乎不相上下。
(圖片來自DB-Engines官網)
與此同時,MySQL也是全球最受歡迎的關系型數(shù)據庫之一。根據Slintel網站的統(tǒng)計數(shù)據,在全球關系型數(shù)據庫市場中,MySQL市場份額最高,達到43.04%,Oracle僅為16.76%。
數(shù)據來源:Slintel網站
中國信息通信研究院《數(shù)據庫發(fā)展研究報告(2021年)》指出,我國金融行業(yè)各類數(shù)據庫應用占比為Oracle 55%、DB2 19%、MySQL 13%、PostgreSQL 6%,其他7%。
圖片源自《數(shù)據庫發(fā)展研究報告(2021年)》
那么,MySQL是如何成為數(shù)據庫領域的“萬人迷”呢?
(三)借勢互聯(lián)網,開源、免費成就全球最受歡迎的關系型數(shù)據庫
MySQL能成為全球最受歡迎的關系型數(shù)據庫,主要是搭上了互聯(lián)網爆發(fā)時代的快車。MySQL本身產品能力過硬,憑借開源、免費的優(yōu)勢,從Oracle、DB2等成熟的商業(yè)數(shù)據庫叢林中,硬是殺出了一條血路。
開源與互聯(lián)網相互促進,彼此成就。開源軟件可以看作是分布式協(xié)作的標桿,即利用全人類的智慧群策群力。源代碼開放具備全球共享、免費等特點,使更多人參與到軟件開發(fā)中。而互聯(lián)網的發(fā)展則打破了時空的界限,將全球鏈接到一起,使全球分布式協(xié)作更高效便捷。MySQL數(shù)據庫憑借其性能穩(wěn)定、成本低、高可用、生態(tài)成熟等優(yōu)勢,俘獲了無數(shù)開源貢獻者的心,成為數(shù)據庫領域的“萬人迷”。
從MySQL的發(fā)展史不難看出,MySQL數(shù)據庫的核心動力源于開源貢獻者。即便2009年,MySQL創(chuàng)始人Monty Widenius離開Sun獨自進行MySQL重要分支MariaDB的開發(fā),仍無法撼動MySQL全球第一開源數(shù)據庫的地位。但近年來,隨著MySQL兼容外部開源貢獻者的態(tài)度日趨保守,MySQL原有擁躉轉投MariaDB、Percona Server,導致MySQL占有率逐漸下降也是不爭的事實。
MySQL與中國的故事
(一)曾經的MySQL中國研發(fā)中心和MySQL中國教育中心
中國最早的一批MySQL數(shù)據庫從業(yè)者一定會記得MySQL中國研發(fā)中心和MySQL中國教育中心。早在2006年,中國企業(yè)北京萬里開源軟件有限公司(簡稱“萬里數(shù)據庫”)就與瑞典MySQL AB公司成立了MySQL中國研發(fā)中心和MySQL中國教育中心,共同推動MySQL在中國的發(fā)展。萬里數(shù)據庫與MySQL的合作直至2009年底終止。此后,MySQL的服務授權由Oracle授予,國內也有不少企業(yè)獲得了MySQL的技術服務授權,其中較為典型的廠商如愛可生。
MySQL中國研發(fā)中心揭牌成立
(二)國產數(shù)據庫中MySQL技術路線占比高
國內最早的一批互聯(lián)網先行者是推動MySQL在中國發(fā)展的重要力量。
以互聯(lián)網巨頭阿里巴巴為例,當年基于成本與安全的考慮,提出“去IOE”的口號。其中去“O”就是以MySQL替代Oracle?;贛ySQL發(fā)展出的AliSQL獨立分支,在阿里去“O”工程中發(fā)揮了重要作用。而基于對MySQL改造的實踐,阿里巴巴影響和帶動了國內互聯(lián)網公司應用MySQL的熱潮。
MySQL 是目前世界上最流行的開源數(shù)據庫軟件,市場占有率巨大,這是不可否認的事實。我們再從數(shù)據庫產品本身、用戶使用等方面看看國內MySQL的發(fā)展情況。
當前是國產數(shù)據庫發(fā)展的黃金時期,百花齊放,異彩紛呈。我國關系型數(shù)據庫產品多數(shù)基于 MySQL 二次開發(fā)而來。根據中國信息通信研究院《數(shù)據庫發(fā)展研究報告(2021年)》,截止到2021年6月,關系型數(shù)據庫中有23個是基于開源數(shù)據庫 MySQL 進行二次開發(fā)的,占關系型數(shù)據庫的比例為 28.40%。
國內各行各業(yè)的終端用戶也大量使用了 MySQL 數(shù)據庫。以金融行業(yè)為例,據調研,90%的金融機構已廣泛應用或試用開源軟件。開源數(shù)據庫方面,超9成金融機構應用了MySQL數(shù)據庫。目前,MySQL數(shù)據庫已在金融行業(yè)得到了規(guī)模化應用。工商銀行、建設銀行、招商銀行、民生銀行、中國銀聯(lián)、泰康保險6家金融企業(yè)的MySQL數(shù)據庫投產節(jié)點規(guī)模超過1000個。其中,中國銀聯(lián)、工商銀行、招商銀行甚至超過4000個節(jié)點。
與之相對應的是國內圍繞MySQL生態(tài)的長期投入,如基礎軟硬件設施、適配 MySQL 的應用軟件開發(fā)、MySQL 生態(tài)的人才培養(yǎng)等。在此基礎上,國內已形成了龐大的圍繞 MySQL 的軟件生態(tài)和人才生態(tài),大量的終端用戶把 MySQL 作為首選數(shù)據庫軟件進行使用。
雖然MySQL的開源協(xié)議會造成業(yè)內的一些擔憂,但正確的做法不是放棄,而是規(guī)范應用和技術掌控,而且以MySQL為代表的開源數(shù)據庫也迎來了政策東風。
(三)國家政策大力扶持開源項目,為國內廠商保駕護航
中國信息通信研究院《開源生態(tài)白皮書2021》指出,我國已成為全球開源生態(tài)的重要貢獻力量,參與國際開源社區(qū)協(xié)作的開發(fā)者數(shù)量排名全球第二。國內開源技術空前發(fā)展的同時,具有引領性、保障性的政策出臺也帶來了利好。
2021年,開源被首次寫入《中華人民共和國國民經濟和社會發(fā)展第十四個五年規(guī)劃和2035年遠景目標綱要》,明確提出支持數(shù)字技術開源社區(qū)等創(chuàng)新聯(lián)合體發(fā)展;同年10月,央行、網信辦、工信部、銀保監(jiān)會、證監(jiān)會聯(lián)合發(fā)布《關于規(guī)范金融業(yè)開源技術應用與發(fā)展的意見》,為開源在金融業(yè)的應用提供政策指引;工信部也印發(fā)《“十四五”軟件和信息技術服務業(yè)發(fā)展規(guī)劃》,系統(tǒng)布局“十四五”開源生態(tài)發(fā)展;2022年,國務院又印發(fā)《“十四五”數(shù)字經濟發(fā)展規(guī)劃》,提出支持具有自主核心技術的開源社區(qū)、開源平臺、開源項目發(fā)展等規(guī)劃。
相信這些綱領性的政策及后續(xù)的實施指南將對我國開源技術的良性發(fā)展起到保駕護航的作用。隨著國家對開源技術的重視,開源項目及開源協(xié)議的合規(guī)性也必將作為重點規(guī)范內容,以保障我國企業(yè)對開源技術的應用。
(四)國內MySQL技術路線發(fā)展的未來
近年來,國內基于MySQL技術路線或兼容MySQL的社區(qū)逐漸興起。相比國外MySQL開源社區(qū),國內MySQL技術相關的社區(qū)主要由國內廠商、技術人員參與并進行代碼貢獻,相對更自主、安全、可控。目前,國內開源數(shù)據庫社區(qū)中,明確提出基于MySQL路線的開源社區(qū)并不多,大多是兼容MySQL的開源數(shù)據庫社區(qū),如:TiDB社區(qū)、OceanBase社區(qū)。
GreatSQL社區(qū)是國內為數(shù)不多的、明確基于MySQL路線且較為活躍的開源數(shù)據庫社區(qū)。該社區(qū)成立于2021年,由萬里數(shù)據庫發(fā)起。從官方資料可以看到GreatSQL分支與MySQL官方的差異及優(yōu)勢特性。GreatSQL開源數(shù)據庫是適用于金融級應用的國內自主MySQL版本,專注于提升MGR可靠性及性能,支持InnoDB并行查詢等特性,可以作為MySQL或Percona Server的可選替換,用于線上生產環(huán)境,且完全免費并兼容MySQL或Percona Server。據了解,GreatSQL社區(qū)已覆蓋1500+技術開發(fā)者,被Gitee評為“最有價值開源項目”。
除MySQL數(shù)據庫技術分支項目本身外,MySQL技術周邊工具的開源項目在國內出現(xiàn)更早,如愛可生開源社區(qū)。它并不對數(shù)據庫本身進行改造開源,而是對數(shù)據庫周邊工具進行開源,這也是繁榮國內MySQL技術路線的一種積極力量。
以MySQL為代表的開源數(shù)據庫引領了一個時代,所沉淀下的優(yōu)秀資產和強大生態(tài)也會繼續(xù)在國內數(shù)據庫市場上發(fā)光發(fā)熱。相信在國家政策的引領下,在國內無數(shù)MySQL技術人員的努力貢獻下,國產MySQL技術路線的數(shù)據庫乃至整個開源數(shù)據庫,未來都將大有可為。
(免責聲明:本網站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網站出現(xiàn)的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網站中的網頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。 )