整理丨諾亞
出品 | 51CTO技術棧(微信號:blog51cto)
數(shù)據(jù)庫賽道向來競爭激烈。在開源數(shù)據(jù)庫領域,PostgreSQL和MySQL是主要的競爭者,兩者有各自獨特的用戶群和生態(tài)系統(tǒng)。但近幾年,兩者的較量卻開始分出伯仲。
根據(jù)2023年的Stack Overflow開發(fā)者調(diào)查,PostgreSQL已經(jīng)成為開發(fā)者中最受歡迎的數(shù)據(jù)庫,MySQL則以41.09%的占比屈居第二。無可辯駁的是,PostgreSQL持續(xù)展現(xiàn)出強勁的增長勢頭,相較來說,MySQL雖然長期保持著極高的受歡迎度,但在某些時期的表現(xiàn)卻起伏不定。
對于MySQL的逐漸弱勢,有人將矛頭對準了其維護者——Oracle公司。
圖源:Stack Overflow
1.對專有功能的偏好限制了MySQL的采用
從發(fā)展史來說,MySQL誕生于上個世紀90年代中期,它最早由MySQL AB公司開發(fā),后來在2008年被Sun Microsystems收購,最終在2010年隨著Sun被Oracle公司收購而歸入Oracle麾下。
但是隨后Oracle公司作為MySQL的維護者,其對MySQL的策略和管理方式遭到了一些資深工程師的質(zhì)疑。
早前就有觀點指出MySQL在某些性能優(yōu)化和新功能引入方面可能不如PostgreSQL活躍,尤其是在Oracle似乎更專注于其專有系統(tǒng)的功能增強,比如MySQL Heatwave。
最近,一位履歷豐富的MySQL數(shù)據(jù)庫工程師的直接發(fā)聲再次佐證了這一觀點——Oracle公司通過傾向于為其專有系統(tǒng)增加功能,可能無意中正在扼殺這個廣受歡迎的開源數(shù)據(jù)庫。
發(fā)聲的工程師名叫Peter Zaitsev,曾在MySQL Inc.擔任性能工程師,后來又成為了Percona的創(chuàng)始人。這位來自俄羅斯的軟件工程師曾參與編寫關于高性能MySQL的書籍,并曾為Oracle對開源數(shù)據(jù)庫的管理進行過辯護。
但在最新的博文中,Zaitsev表示Oracle在過去幾年中推廣其分析系統(tǒng)Heatwave的做法令人生疑。他公開表示Oracle可能無意中限制了MySQL的發(fā)展,這不僅關系到技術的進步,更觸及了開源精神與商業(yè)利益的平衡問題。
2.“建議將MySQL轉移到Linux基金會”
Zaitsev于2006年創(chuàng)立了開源數(shù)據(jù)庫咨詢公司Percona。他在公司網(wǎng)站上發(fā)布的博文中表示,Oracle的MySQL企業(yè)版專注于“企業(yè)需要而開發(fā)者不太關心”的特性,因為Oracle的MySQL Heatwave分析數(shù)據(jù)庫服務的發(fā)展更為令人擔憂。
“Heatwave包含了許多在MySQL社區(qū)版或MySQL企業(yè)版中不可用的功能,如分析查詢加速或機器學習功能。”
他指出,開源MySQL甚至沒有并行查詢執(zhí)行功能?!爱斒袌錾铣霈F(xiàn)具有數(shù)百個核心的CPU時,這些核心并沒有顯著變快,這越來越限制了性能,”他說道。
向量搜索是另一個在Heatwave中可用但在MySQL中不可用的功能,盡管它在開源PostgreSQL中可用。
“當所有其他主要的開源數(shù)據(jù)庫都增加了對向量搜索功能的支持,而MariaDB也在努力實現(xiàn)這一功能時,MySQL生態(tài)系統(tǒng)中僅將此作為云專屬的MySQL Heatwave功能,至少可以說是不幸的?!弊詈?,他還補充說JavaScript支持作為MySQL企業(yè)版獨有的功能發(fā)布。
“所有這些都打破了上述提到的黃金法則,因為它們確實限制了MySQL的采用,無論是從缺失這些特性的角度看,還是從擔心這種趨向可能對MySQL未來發(fā)展產(chǎn)生的影響來考慮?!?/p>
“如果這還不夠,MySQL似乎在性能工程部門遭受了多年的忽視,與MySQL 5.6相比,即使是在簡單的單線程工作負載下,性能也顯著降低。你可以說功能是以性能為代價的,但MariaDB已經(jīng)能夠顯著減少性能退化,而PostgreSQL在添加新功能的同時甚至提高了性能。”Zaitsev補充道。
在LinkedIn上就該話題進行的討論中,Zaitsev堅持認為,如果Oracle認為維護MySQL應該成為共同的責任,“因為他們不再從承擔大部分項目維護負擔中獲得價值”,他們完全可以“將其轉移到Linux基金會(或其他獨立的非營利實體),并專注于維護他們的內(nèi)部版本(類似于AWS Aurora)”。他補充說:“在這種情況下,可以合理期待AWS、GCP等來分擔推動開源項目前進的重任……我相信他們會愿意這樣做的?!?/p>
3.拯救MySQL需要正視開發(fā)者需求
當然,并非所有參與討論的圈內(nèi)人士都同意Oracle的舉動會扼殺開源MySQL。
有人評論:“我對此并不確定。Oracle目前似乎更聚焦于MySQL作為服務的提供。要判斷他們的動作是否會影響(MySQL的未來),我得先審視他們對MySQL服務器本身的改進情況。我個人真心希望不會發(fā)生那樣的情況,因為這將讓我深感遺憾。最近,我正致力于優(yōu)化PgPool配置,以確保其高效且可擴展性良好,但從功能豐富度來說,與ProxySQL和MySQL Router相比較,PgPool的確顯得有些不足?!?/p>
Zaitsev回復說:“對數(shù)據(jù)庫即服務的關注意味著開源MySQL被忽視并落后,這意味著正在扼殺它......”
首席技術官Mark Callaghan同樣表達了認同,但語氣中透露出遺憾:“我不得不贊同這一觀點,盡管這讓我感到心痛。我們所依賴的那個積極擴展MySQL、深入探索其技術邊界、踴躍提交問題報告、主動修補漏洞,并不時為MySQL帶來改進的外部貢獻者群體,正日漸萎縮?!?/p>
而相較MySQL,老對手PostgreSQL在DB-Engines排名系統(tǒng)中正逐步縮小與MySQL的差距,并在某些關鍵指標上實現(xiàn)了超越,顯示出了強勁的增長動力和開發(fā)者社區(qū)的支持。
特別是在2023年,PostgreSQL榮獲了DB-Engines的年度數(shù)據(jù)庫獎項。進入2024年,PostgreSQL的排名趨勢依舊樂觀,從2024年4月的報告來看,它的分數(shù)相比去年同月大幅增加了,顯示了其持續(xù)上漲的態(tài)勢,并有望再次成為年度DBMS冠軍。而MySQL的前景則黯淡許多。
Zaitsev指出,如果Oracle不能夠重視現(xiàn)代開發(fā)者對關系型數(shù)據(jù)庫的當前需求,那么MySQL可能會遭遇消亡,無論這種結果是出于Oracle的直接行動,還是僅僅因為未能采取必要的措施來維持其活力。
參考鏈接:https://www.theregister.com/2024/06/11/early_mysql_engineer_questions_whether