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