今天看到了一幅圖,MySQL歷年的Commit數(shù)目:
![]()
從中可以清晰地看出,自2006/2007年達(dá)到頂峰以后,Commit數(shù)目一路下降,如今的數(shù)字只是最高峰的五六分之一!
另外一幅圖是Stack Overflow的2025年度調(diào)查:
![]()
PostgreSQL排名第一,大幅領(lǐng)先MySQL。
這更讓我吃驚,因?yàn)槲矣浀?022年的時(shí)候PostgreSQL還不如MySQL,沒(méi)想到短短三年差距這么大了。
不過(guò),Stack Overflow是用調(diào)查的方式,主要統(tǒng)計(jì)程序員在開(kāi)發(fā)中使用的數(shù)據(jù)庫(kù),市面上還有很多系統(tǒng)在使用MySQL呢,并沒(méi)有統(tǒng)計(jì)進(jìn)去。
我又趕緊去看了一下MySQL在DB-Engines的排名:
![]()
還好,MySQL依然排名第二,但是相比一年前,分?jǐn)?shù)大幅下降了(-130.63)。
而PostGreSQL從2014年開(kāi)始,則是一路增長(zhǎng),迅猛上揚(yáng)。
![]()
可以說(shuō),MySQL的存量市場(chǎng)和使用慣性還在,但精神感召力似乎消失了。
這到底是什么原因呢?
Amazon RDS for MySQL和MariaDB的前軟件開(kāi)發(fā)經(jīng)理Otto認(rèn)為:這是因?yàn)樽鳛殚_(kāi)源項(xiàng)目的管理者,Oracle已經(jīng)不值得信任了。
他甚至說(shuō):“2026年別再使用MySQL了,它不是真正的開(kāi)源軟件”,他的主要理由如下:
0 1
開(kāi)發(fā)工作閉門(mén)進(jìn)行
公開(kāi)的bug跟蹤系統(tǒng)并不是 Oracle 主要使用的開(kāi)發(fā)工具,少數(shù)為MySQL做貢獻(xiàn)的人只能眼睜睜看到自己的Pull Request和補(bǔ)丁被標(biāo)記為已收到,但卻得不到任何反饋。
這些修改有可能會(huì)出現(xiàn)在下一版本的MySQL中,也可能不出現(xiàn),甚至可能會(huì)被重寫(xiě)。
在Git的提交者欄中,也只有Oracle員工的名字,真正的作者只能在博客文章中被簡(jiǎn)單提及一下。
這樣長(zhǎng)此以往,慢慢地就沒(méi)有人愿意為MySQL做貢獻(xiàn)了。
換句話說(shuō),MySQL雖然通過(guò)GPL開(kāi)源,但它本身的開(kāi)發(fā)方式已經(jīng)不是一個(gè)標(biāo)準(zhǔn)的開(kāi)源項(xiàng)目了。
0 2
MySQL在技術(shù)上衰落了
MySQL 8.0.29 把 ALTER TABLE 默認(rèn)切換到更激進(jìn)的 in-place 執(zhí)行方式,但這個(gè)實(shí)現(xiàn)當(dāng)時(shí)并不成熟,在大量邊緣場(chǎng)景下會(huì)失敗,這直接導(dǎo)致數(shù)據(jù)庫(kù)崩潰,數(shù)據(jù)損壞,影響了許多用戶。這個(gè)問(wèn)題直到一年后的 MySQL 8.0.32 才得到徹底解決。
2018年MySQL 8.0發(fā)布以后,長(zhǎng)達(dá)6年的時(shí)間沒(méi)有新的重要版本發(fā)布,2024年才發(fā)布8.1,還沒(méi)有多少新功能,讓很多用戶感到失望。
更有基準(zhǔn)測(cè)試表示顯示,在寫(xiě)入密集型負(fù)載下,MySQL9.5的吞吐量比8.0又下降了15%! 這確實(shí)是挺讓人崩潰的。
![]()
在安全方面,MySQL也有不少問(wèn)題,僅在 2025 年, MySQL 就發(fā)布了 123 個(gè)關(guān)于安全問(wèn)題的 CVE ,而 MariaDB 只有 8 個(gè) 。
0 3
Oracle在引導(dǎo)大家使用收費(fèi)的/閉源的產(chǎn)品
奧托說(shuō),MySQL 的軟件本身、文檔、官網(wǎng),在各個(gè)層面都在引導(dǎo)用戶放棄開(kāi)源版本,轉(zhuǎn)向收費(fèi)的/閉源的 MySQL 版本。
我特意到MySQL的官網(wǎng)(https://www.mysql.com/cn/)看了一下:
![]()
你別說(shuō),首頁(yè)寫(xiě)得大大的MySQL企業(yè)版,MySQL的云數(shù)據(jù)庫(kù)HeatWave,AI ,Cluster,就是找不到社區(qū)版。
我又去看了MySQL各個(gè)產(chǎn)品的介紹:
![]()
這些產(chǎn)品確實(shí)讓我有點(diǎn)兒暈,哪個(gè)是社區(qū)版?
標(biāo)準(zhǔn)版?經(jīng)典版? 這是啥? 我搜了一下,發(fā)現(xiàn)這兩者都是收費(fèi)的,其實(shí)這個(gè)頁(yè)面的所有產(chǎn)品都是收費(fèi)的。
免費(fèi)的社區(qū)版并不在這個(gè)MySQL的產(chǎn)品列表中!它都不配有個(gè)產(chǎn)品介紹了嗎?
你要想下載的話,需要到下載頁(yè)面,拉到最下方,才能看到:
![]()
2009年,MySQL之父Monty寫(xiě)的一篇文章:Oracle對(duì)MySQL的承諾都是空頭支票。
![]()
當(dāng)時(shí)Oracle要收購(gòu)Sun(MySQL也在Sun旗下),歐盟擔(dān)心扼殺競(jìng)爭(zhēng),幾乎否決交易。
后來(lái)Oracle做出了10項(xiàng)承諾(5年期限),這才使得歐盟放行。
Monty說(shuō):“Oracle可能會(huì)把開(kāi)發(fā)重點(diǎn)放到企業(yè)版上,或者添加閉源的擴(kuò)展,使得社區(qū)版的興趣和活躍度下降。”
“他們可能會(huì)放棄開(kāi)源,關(guān)閉MySQL的某些部分。”
現(xiàn)在看來(lái),Monty的話被應(yīng)驗(yàn)了。
從商業(yè)的角度看,5年期限早已過(guò)去,Oracle完全可以基于自身利益選擇如何發(fā)展MySQL這個(gè)產(chǎn)品,無(wú)可指責(zé)。
只不過(guò)大家也會(huì)用腳投票,選擇其他真正開(kāi)源的產(chǎn)品例如MariaDB。
![]()
MariaDB是MySQL最直接的平替,兼容性非常好。如果是新項(xiàng)目,或者是重要的重構(gòu)項(xiàng)目,也可以直接上PostGreSQL。
按照目前的發(fā)展趨勢(shì),我感覺(jué)兩三年內(nèi)PostgreSQL就在DB-Engines的統(tǒng)計(jì)中全面超越MySQL,我個(gè)人從零幾年就開(kāi)始用MySQL,大大小小的項(xiàng)目用了很多,對(duì)它很有感情,看到他從巔峰墜落,心里真是有點(diǎn)兒傷感。
最后順便提一下,Monty有三個(gè)孩子,名稱分別是My,Maria,Max。
這三個(gè)孩子非常幸運(yùn),因?yàn)樗麄兊母赣H把他們的名字永遠(yuǎn)地“刻”在了三個(gè)數(shù)據(jù)庫(kù)產(chǎn)品之上:
MySQL
MaxDB
MariaDB
![]()
全文完,覺(jué)得不錯(cuò)的話歡迎三連。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.