數(shù)據(jù)庫(kù)雜談 | 全球“萬(wàn)人迷”MySQL在中國(guó)“境遇”如何?

前段時(shí)間,筆者與一位資深開(kāi)發(fā)者聊天,得知他作為后端工程師,輾轉(zhuǎn)于多個(gè)軟件服務(wù)公司,所服務(wù)的客戶涵蓋零售、交通、金融、互聯(lián)網(wǎng)等行業(yè)。我問(wèn)他接觸最多的數(shù)據(jù)庫(kù)是什么?他脫口而出:“MySQL!”

MySQL可能是很多數(shù)據(jù)庫(kù)從業(yè)者的啟蒙數(shù)據(jù)庫(kù)。DB-Engines官網(wǎng)6月最新數(shù)據(jù)顯示,MySQL是全球最受歡迎的開(kāi)源數(shù)據(jù)庫(kù)。在所有數(shù)據(jù)庫(kù)排名中,MySQL僅次于Oracle,穩(wěn)居全球數(shù)據(jù)庫(kù)亞軍之位。

(圖片源自DB-Engines官網(wǎng))

近年來(lái),開(kāi)源數(shù)據(jù)庫(kù)成為數(shù)據(jù)庫(kù)發(fā)展的一大趨勢(shì),備受關(guān)注。今天,我們就來(lái)扒一扒開(kāi)源數(shù)據(jù)庫(kù)“課代表”MySQL的前世今生。

數(shù)據(jù)庫(kù)“老炮兒”MySQL發(fā)家史

  (一)數(shù)據(jù)庫(kù)“老炮兒”MySQL

MySQL的歷史最早可以追溯到1979年,距今已有43年歷史。

1996年10月,MySQL的首個(gè)穩(wěn)定版本 3.11.1發(fā)布。此時(shí)正值互聯(lián)網(wǎng)發(fā)展初期,一切充滿著希望。1999年,瑞典MySQL AB公司成立。

進(jìn)入新世紀(jì),MySQL邁出了重要一步。2000年,MySQL采用GPL(General Public License)許可協(xié)議開(kāi)源。2005年10月,發(fā)布了MySQL 5.0,在5.0中加入了游標(biāo)、存儲(chǔ)過(guò)程、觸發(fā)器、視圖和事務(wù)支持等功能模塊。至此,MySQL正式進(jìn)入高性能數(shù)據(jù)庫(kù)行列。

2006年,Oracle收購(gòu)InnoDB引擎,這深刻影響了后來(lái)MySQL的發(fā)展——因?yàn)镸ySQL被賣(mài)身兩次后歸于Oracle麾下。2008年,瑞典MySQL AB公司被Sun收購(gòu)。次年,Sun被Oracle收購(gòu),MySQL數(shù)據(jù)庫(kù)被一并納入Oracle,進(jìn)入Oracle MySQL時(shí)代。2010年發(fā)布的MySQL5.5版本中,將其默認(rèn)的存儲(chǔ)引擎由MyISAM更換為InnoDB。

進(jìn)入移動(dòng)互聯(lián)網(wǎng)時(shí)代后,MySQL發(fā)布了穩(wěn)定的經(jīng)典版本: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ù)據(jù)庫(kù)發(fā)展歷程圖)

(二)流行:數(shù)據(jù)庫(kù)領(lǐng)域的“萬(wàn)人迷”

當(dāng)您瀏覽本文的時(shí)候,后臺(tái)很可能由MySQL數(shù)據(jù)庫(kù)在提供支撐。MySQL的應(yīng)用十分廣泛。新世紀(jì)初期,未來(lái)的互聯(lián)網(wǎng)巨頭剛剛萌芽,但是商業(yè)數(shù)據(jù)庫(kù)太過(guò)昂貴,對(duì)技術(shù)人員的能力要求也較高,開(kāi)源數(shù)據(jù)庫(kù)成為大家的新選擇。

全球范圍內(nèi),美國(guó)雅虎公司率先大規(guī)模使用MySQL數(shù)據(jù)庫(kù)。在其影響下,海內(nèi)外互聯(lián)網(wǎng)公司開(kāi)始自己的MySQL應(yīng)用之路,如Google、Facebook、阿里巴巴、百度、騰訊等公司以及90%以上的互聯(lián)網(wǎng)公司都會(huì)或多或少地應(yīng)用MySQL數(shù)據(jù)庫(kù)。

自此,以 MySQL 為代表的開(kāi)源數(shù)據(jù)庫(kù)產(chǎn)品引領(lǐng)了數(shù)據(jù)庫(kù)技術(shù)發(fā)展方向,在解決客戶需求的同時(shí),也培育了客戶使用習(xí)慣,從而贏得了大量客戶。

無(wú)論在海外還是中國(guó),MySQL都是最流行的開(kāi)源數(shù)據(jù)庫(kù),擁有廣泛的受眾,是數(shù)據(jù)庫(kù)領(lǐng)域的“萬(wàn)人迷”。從DB-Engines流行度趨勢(shì)圖可以看到,MySQL與Oracle幾乎不相上下。

(圖片來(lái)自DB-Engines官網(wǎng))

與此同時(shí),MySQL也是全球最受歡迎的關(guān)系型數(shù)據(jù)庫(kù)之一。根據(jù)Slintel網(wǎng)站的統(tǒng)計(jì)數(shù)據(jù),在全球關(guān)系型數(shù)據(jù)庫(kù)市場(chǎng)中,MySQL市場(chǎng)份額最高,達(dá)到43.04%,Oracle僅為16.76%。

數(shù)據(jù)來(lái)源:Slintel網(wǎng)站

中國(guó)信息通信研究院《數(shù)據(jù)庫(kù)發(fā)展研究報(bào)告(2021年)》指出,我國(guó)金融行業(yè)各類(lèi)數(shù)據(jù)庫(kù)應(yīng)用占比為Oracle 55%、DB2 19%、MySQL 13%、PostgreSQL 6%,其他7%。

圖片源自《數(shù)據(jù)庫(kù)發(fā)展研究報(bào)告(2021年)》

那么,MySQL是如何成為數(shù)據(jù)庫(kù)領(lǐng)域的“萬(wàn)人迷”呢?

(三)借勢(shì)互聯(lián)網(wǎng),開(kāi)源、免費(fèi)成就全球最受歡迎的關(guān)系型數(shù)據(jù)庫(kù)

MySQL能成為全球最受歡迎的關(guān)系型數(shù)據(jù)庫(kù),主要是搭上了互聯(lián)網(wǎng)爆發(fā)時(shí)代的快車(chē)。MySQL本身產(chǎn)品能力過(guò)硬,憑借開(kāi)源、免費(fèi)的優(yōu)勢(shì),從Oracle、DB2等成熟的商業(yè)數(shù)據(jù)庫(kù)叢林中,硬是殺出了一條血路。

開(kāi)源與互聯(lián)網(wǎng)相互促進(jìn),彼此成就。開(kāi)源軟件可以看作是分布式協(xié)作的標(biāo)桿,即利用全人類(lèi)的智慧群策群力。源代碼開(kāi)放具備全球共享、免費(fèi)等特點(diǎn),使更多人參與到軟件開(kāi)發(fā)中。而互聯(lián)網(wǎng)的發(fā)展則打破了時(shí)空的界限,將全球鏈接到一起,使全球分布式協(xié)作更高效便捷。MySQL數(shù)據(jù)庫(kù)憑借其性能穩(wěn)定、成本低、高可用、生態(tài)成熟等優(yōu)勢(shì),俘獲了無(wú)數(shù)開(kāi)源貢獻(xiàn)者的心,成為數(shù)據(jù)庫(kù)領(lǐng)域的“萬(wàn)人迷”。

從MySQL的發(fā)展史不難看出,MySQL數(shù)據(jù)庫(kù)的核心動(dòng)力源于開(kāi)源貢獻(xiàn)者。即便2009年,MySQL創(chuàng)始人Monty Widenius離開(kāi)Sun獨(dú)自進(jìn)行MySQL重要分支MariaDB的開(kāi)發(fā),仍無(wú)法撼動(dòng)MySQL全球第一開(kāi)源數(shù)據(jù)庫(kù)的地位。但近年來(lái),隨著MySQL兼容外部開(kāi)源貢獻(xiàn)者的態(tài)度日趨保守,MySQL原有擁躉轉(zhuǎn)投MariaDB、Percona Server,導(dǎo)致MySQL占有率逐漸下降也是不爭(zhēng)的事實(shí)。

MySQL與中國(guó)的故事

(一)曾經(jīng)的MySQL中國(guó)研發(fā)中心和MySQL中國(guó)教育中心

中國(guó)最早的一批MySQL數(shù)據(jù)庫(kù)從業(yè)者一定會(huì)記得MySQL中國(guó)研發(fā)中心和MySQL中國(guó)教育中心。早在2006年,中國(guó)企業(yè)北京萬(wàn)里開(kāi)源軟件有限公司(簡(jiǎn)稱(chēng)“萬(wàn)里數(shù)據(jù)庫(kù)”)就與瑞典MySQL AB公司成立了MySQL中國(guó)研發(fā)中心和MySQL中國(guó)教育中心,共同推動(dòng)MySQL在中國(guó)的發(fā)展。萬(wàn)里數(shù)據(jù)庫(kù)與MySQL的合作直至2009年底終止。此后,MySQL的服務(wù)授權(quán)由Oracle授予,國(guó)內(nèi)也有不少企業(yè)獲得了MySQL的技術(shù)服務(wù)授權(quán),其中較為典型的廠商如愛(ài)可生。

MySQL中國(guó)研發(fā)中心揭牌成立

(二)國(guó)產(chǎn)數(shù)據(jù)庫(kù)中MySQL技術(shù)路線占比高

國(guó)內(nèi)最早的一批互聯(lián)網(wǎng)先行者是推動(dòng)MySQL在中國(guó)發(fā)展的重要力量。

以互聯(lián)網(wǎng)巨頭阿里巴巴為例,當(dāng)年基于成本與安全的考慮,提出“去IOE”的口號(hào)。其中去“O”就是以MySQL替代Oracle。基于MySQL發(fā)展出的AliSQL獨(dú)立分支,在阿里去“O”工程中發(fā)揮了重要作用。而基于對(duì)MySQL改造的實(shí)踐,阿里巴巴影響和帶動(dòng)了國(guó)內(nèi)互聯(lián)網(wǎng)公司應(yīng)用MySQL的熱潮。

MySQL 是目前世界上最流行的開(kāi)源數(shù)據(jù)庫(kù)軟件,市場(chǎng)占有率巨大,這是不可否認(rèn)的事實(shí)。我們?cè)購(gòu)臄?shù)據(jù)庫(kù)產(chǎn)品本身、用戶使用等方面看看國(guó)內(nèi)MySQL的發(fā)展情況。

當(dāng)前是國(guó)產(chǎn)數(shù)據(jù)庫(kù)發(fā)展的黃金時(shí)期,百花齊放,異彩紛呈。我國(guó)關(guān)系型數(shù)據(jù)庫(kù)產(chǎn)品多數(shù)基于 MySQL 二次開(kāi)發(fā)而來(lái)。根據(jù)中國(guó)信息通信研究院《數(shù)據(jù)庫(kù)發(fā)展研究報(bào)告(2021年)》,截止到2021年6月,關(guān)系型數(shù)據(jù)庫(kù)中有23個(gè)是基于開(kāi)源數(shù)據(jù)庫(kù) MySQL 進(jìn)行二次開(kāi)發(fā)的,占關(guān)系型數(shù)據(jù)庫(kù)的比例為 28.40%。

國(guó)內(nèi)各行各業(yè)的終端用戶也大量使用了 MySQL 數(shù)據(jù)庫(kù)。以金融行業(yè)為例,據(jù)調(diào)研,90%的金融機(jī)構(gòu)已廣泛應(yīng)用或試用開(kāi)源軟件。開(kāi)源數(shù)據(jù)庫(kù)方面,超9成金融機(jī)構(gòu)應(yīng)用了MySQL數(shù)據(jù)庫(kù)。目前,MySQL數(shù)據(jù)庫(kù)已在金融行業(yè)得到了規(guī)?;瘧?yīng)用。工商銀行、建設(shè)銀行、招商銀行、民生銀行、中國(guó)銀聯(lián)、泰康保險(xiǎn)6家金融企業(yè)的MySQL數(shù)據(jù)庫(kù)投產(chǎn)節(jié)點(diǎn)規(guī)模超過(guò)1000個(gè)。其中,中國(guó)銀聯(lián)、工商銀行、招商銀行甚至超過(guò)4000個(gè)節(jié)點(diǎn)。

與之相對(duì)應(yīng)的是國(guó)內(nèi)圍繞MySQL生態(tài)的長(zhǎng)期投入,如基礎(chǔ)軟硬件設(shè)施、適配 MySQL 的應(yīng)用軟件開(kāi)發(fā)、MySQL 生態(tài)的人才培養(yǎng)等。在此基礎(chǔ)上,國(guó)內(nèi)已形成了龐大的圍繞 MySQL 的軟件生態(tài)和人才生態(tài),大量的終端用戶把 MySQL 作為首選數(shù)據(jù)庫(kù)軟件進(jìn)行使用。

雖然MySQL的開(kāi)源協(xié)議會(huì)造成業(yè)內(nèi)的一些擔(dān)憂,但正確的做法不是放棄,而是規(guī)范應(yīng)用和技術(shù)掌控,而且以MySQL為代表的開(kāi)源數(shù)據(jù)庫(kù)也迎來(lái)了政策東風(fēng)。

(三)國(guó)家政策大力扶持開(kāi)源項(xiàng)目,為國(guó)內(nèi)廠商保駕護(hù)航

中國(guó)信息通信研究院《開(kāi)源生態(tài)白皮書(shū)2021》指出,我國(guó)已成為全球開(kāi)源生態(tài)的重要貢獻(xiàn)力量,參與國(guó)際開(kāi)源社區(qū)協(xié)作的開(kāi)發(fā)者數(shù)量排名全球第二。國(guó)內(nèi)開(kāi)源技術(shù)空前發(fā)展的同時(shí),具有引領(lǐng)性、保障性的政策出臺(tái)也帶來(lái)了利好。

2021年,開(kāi)源被首次寫(xiě)入《中華人民共和國(guó)國(guó)民經(jīng)濟(jì)和社會(huì)發(fā)展第十四個(gè)五年規(guī)劃和2035年遠(yuǎn)景目標(biāo)綱要》,明確提出支持?jǐn)?shù)字技術(shù)開(kāi)源社區(qū)等創(chuàng)新聯(lián)合體發(fā)展;同年10月,央行、網(wǎng)信辦、工信部、銀保監(jiān)會(huì)、證監(jiān)會(huì)聯(lián)合發(fā)布《關(guān)于規(guī)范金融業(yè)開(kāi)源技術(shù)應(yīng)用與發(fā)展的意見(jiàn)》,為開(kāi)源在金融業(yè)的應(yīng)用提供政策指引;工信部也印發(fā)《“十四五”軟件和信息技術(shù)服務(wù)業(yè)發(fā)展規(guī)劃》,系統(tǒng)布局“十四五”開(kāi)源生態(tài)發(fā)展;2022年,國(guó)務(wù)院又印發(fā)《“十四五”數(shù)字經(jīng)濟(jì)發(fā)展規(guī)劃》,提出支持具有自主核心技術(shù)的開(kāi)源社區(qū)、開(kāi)源平臺(tái)、開(kāi)源項(xiàng)目發(fā)展等規(guī)劃。

相信這些綱領(lǐng)性的政策及后續(xù)的實(shí)施指南將對(duì)我國(guó)開(kāi)源技術(shù)的良性發(fā)展起到保駕護(hù)航的作用。隨著國(guó)家對(duì)開(kāi)源技術(shù)的重視,開(kāi)源項(xiàng)目及開(kāi)源協(xié)議的合規(guī)性也必將作為重點(diǎn)規(guī)范內(nèi)容,以保障我國(guó)企業(yè)對(duì)開(kāi)源技術(shù)的應(yīng)用。

(四)國(guó)內(nèi)MySQL技術(shù)路線發(fā)展的未來(lái)

近年來(lái),國(guó)內(nèi)基于MySQL技術(shù)路線或兼容MySQL的社區(qū)逐漸興起。相比國(guó)外MySQL開(kāi)源社區(qū),國(guó)內(nèi)MySQL技術(shù)相關(guān)的社區(qū)主要由國(guó)內(nèi)廠商、技術(shù)人員參與并進(jìn)行代碼貢獻(xiàn),相對(duì)更自主、安全、可控。目前,國(guó)內(nèi)開(kāi)源數(shù)據(jù)庫(kù)社區(qū)中,明確提出基于MySQL路線的開(kāi)源社區(qū)并不多,大多是兼容MySQL的開(kāi)源數(shù)據(jù)庫(kù)社區(qū),如:TiDB社區(qū)、OceanBase社區(qū)。

GreatSQL社區(qū)是國(guó)內(nèi)為數(shù)不多的、明確基于MySQL路線且較為活躍的開(kāi)源數(shù)據(jù)庫(kù)社區(qū)。該社區(qū)成立于2021年,由萬(wàn)里數(shù)據(jù)庫(kù)發(fā)起。從官方資料可以看到GreatSQL分支與MySQL官方的差異及優(yōu)勢(shì)特性。GreatSQL開(kāi)源數(shù)據(jù)庫(kù)是適用于金融級(jí)應(yīng)用的國(guó)內(nèi)自主MySQL版本,專(zhuān)注于提升MGR可靠性及性能,支持InnoDB并行查詢(xún)等特性,可以作為MySQL或Percona Server的可選替換,用于線上生產(chǎn)環(huán)境,且完全免費(fèi)并兼容MySQL或Percona Server。據(jù)了解,GreatSQL社區(qū)已覆蓋1500+技術(shù)開(kāi)發(fā)者,被Gitee評(píng)為“最有價(jià)值開(kāi)源項(xiàng)目”。

除MySQL數(shù)據(jù)庫(kù)技術(shù)分支項(xiàng)目本身外,MySQL技術(shù)周邊工具的開(kāi)源項(xiàng)目在國(guó)內(nèi)出現(xiàn)更早,如愛(ài)可生開(kāi)源社區(qū)。它并不對(duì)數(shù)據(jù)庫(kù)本身進(jìn)行改造開(kāi)源,而是對(duì)數(shù)據(jù)庫(kù)周邊工具進(jìn)行開(kāi)源,這也是繁榮國(guó)內(nèi)MySQL技術(shù)路線的一種積極力量。

以MySQL為代表的開(kāi)源數(shù)據(jù)庫(kù)引領(lǐng)了一個(gè)時(shí)代,所沉淀下的優(yōu)秀資產(chǎn)和強(qiáng)大生態(tài)也會(huì)繼續(xù)在國(guó)內(nèi)數(shù)據(jù)庫(kù)市場(chǎng)上發(fā)光發(fā)熱。相信在國(guó)家政策的引領(lǐng)下,在國(guó)內(nèi)無(wú)數(shù)MySQL技術(shù)人員的努力貢獻(xiàn)下,國(guó)產(chǎn)MySQL技術(shù)路線的數(shù)據(jù)庫(kù)乃至整個(gè)開(kāi)源數(shù)據(jù)庫(kù),未來(lái)都將大有可為。

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )