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