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