上個月,信通院下屬的云計算開源產業聯盟發布了一個關于MySQL數據庫開源生態的研究報告《開源數據庫生態發展研究報告-MySQL開源數據庫》,其中提到了在10月份MySQL社區將會發生一件大事--MySQL 5.7將會于2023年10月21日結束服務期(EOL)。
MySQL目前已經成為中國用戶使用最廣泛的開源數據庫,其中5.7版本的用戶的比重又是最高的,因此MySQL 5.7 EOL事件會影響到很多MySQL用戶。
根據報告中的統計數字,MySQL 5.7用戶占比在國內高達47%。屆時這些用戶將會面臨選擇,如何應對EOL事件。實際上2020年的時候就有一些機構提醒用戶,MySQL 5.7按照生命周期將于2023年到達服務期限,當時這件事還在MySQL社區和DBA圈子里引發過一些關于開源項目安全性的討論。3年后,這個狼來了的問題,終于正式要面對我們了。
實際上數據庫EOL的問題并不是在MySQL 5.7上第一次出現,Oracle用戶都很清楚每個版本EOL的時間表。只不過Oracle官方依然會對付費用戶提供延長期服務,還會在數年時間里繼續為這些用戶發布安全補丁包,因此EOL的Oracle版本依然可以通過各種渠道找到安全補丁包。而作為開源數據庫的MySQL,EOL就意味著開源社區不再提供安全與功能方面的補丁升級了。
面對MySQL 5.7 EOL這個事件,percona官方宣布了付費支持的計劃,在EOL之后的三年內,percona會為需要服務的客戶提供收費服務支持。不過支持的力度如何,是否承諾對安全問題發布補丁不得而知。
MariaDB一貫的對MySQL持有敵意,他們希望MySQL 5.7用戶不要升級MySQL 8了,而是通過11條簡單的命令遷移到MariaDB上去。除此之外,一些云廠商也紛紛提出了解決方案。
云廠商則紛紛發布了延長服務的聲明,微軟Azure將會在MySQL 5.7 EOL之后,為其公有云用戶提供延長的服務,由Azure官方提供支持,最晚到2025年。
類似情況,亞馬遜也將為其公有云用戶提供一年期的支持。不論是亞馬遜還是微軟,當延長服務期結束后,MySQL 5.7用戶將必須強制升級到MySQL 8或者遷移到其他數據庫上。
面對這個問題,國內的MySQL生態的數據庫廠商也紛紛給出了自己的遷移方案,希望吸引這部分用戶到自己的產品上來。
面對MySQL 5.7 EOL這個事件,我們會如何面對呢?最近我也和一些MySQL 5.7用戶做了一些交流,根據他們反饋的情況,以及業內對此問題的應對措施,再結合報告中反饋的四種情況,我總結了一下,大致有六種應對措施。
第一條路徑:直接升級到8.0。做出此選擇的MySQL5.7用戶占比較高,此類用戶對此問題早已了解,并且在半年前就已經開始應對工作。MySQL 5.7升級到8.0不僅僅是更換一個數據庫版本而已,因為8.0與5.7在技術上有較大的差異,CBO優化器與SQL引擎都有一定的不同,因此數據庫升級后應用需要做全面的測試,對于不夠兼容的部分代碼做一定的修改才能確保順利遷移。因此采用第一種路徑的用戶,需要做一定的提前準備。
第二條路徑:直接遷移到MySQL兼容的國產數據庫。有一部分客戶考慮到信創的問題,原本就已經計劃對數據庫進行國產化替代,準備一次性到位。如果用國產數據庫替代,那么可以選擇的路徑也很多,很多國產數據庫產品就是MySQL生態產品,比如騰訊TDSQL、萬里GreatSQL、中興通訊GoldenDB、Oceanbase、阿里PolarDB-x等。如果不需要使用存儲過程,還可以考慮TiDB。很多國產數據庫也有MySQL兼容模式,雖然不能完全兼容MySQL,應用做少量的修改也可以遷移過去。達夢、人大金倉、GaussDB等數據庫都有MySQL兼容模式。直接遷移到國產數據庫的優點是從根本上完成數據庫國產化替代,不過缺點也很明顯,一方面是遷移需要一定的資金,也需要一定的時間,另外一方面是國產數據庫許可證采購的總體成本不低。
第三條路徑:遷移到其他MySQL生態的開源產品,比如MariaDB和國內的GreatSQL。向MariaDB遷移的用戶主要考慮的是擺脫Oracle生態,選擇一個相對更加安全的開源項目,不過MariaDB社區是否足夠安全,也是仁者見仁智者見智。GreatSQL是Percona Server的一個開源分支,也基于GPLV2協議,代碼托管在國內的gitee上。在保持與Percona Server兼容的基礎上,會更快速地修復漏洞,保障用戶的數據安全。隨后GreatSQL開源社區將會在官網上開設一個MySQL5.7停服專區,幫助MySQL 5.7的用戶解決一些停服帶來的問題,為某些暫時無法升級的用戶提供支撐。隨著軟件供應鏈安全方面的需求的不斷加強,國內開源項目分支的發展將會迎來高速發展。這條路徑的遷移成本較低,缺點是用戶目前對國內的開源分支的認可度還存在一定問題。
第四條路徑:對于公有云用戶,依托云平臺再多撐一兩年,在一兩年中再選擇方向。公有云廠商還會對MySQL 5.7提供一定時間的延長支持。公有云用戶先觀望一年再選擇穩妥的技術路線的比例是比較高的。這條路線獲得了一定時間的緩沖區,以便于做出更為科學的決策,不過僅僅是過渡期的臨時做法。
第五條路徑:換門,從MySQL直接更換數據庫種類,轉投另外一個開源數據庫 PG 陣營。和攝影界換門一樣,采取這條路徑是要下大決心的。因為以往的應用都要修改,數據都要遷移,以往積累的應用開發與運維經驗也都要放棄。
第六條路徑:不變,繼續使用MySQL 5.7。數據庫都是在內部使用的,因此把網絡的安全邊界扎牢,哪怕有安全漏洞,也不升級,不改變,等到應用系統升級的時候再考慮升級或者更換數據庫。選擇這條路線的用戶比例不低,這條路徑成本最低,不過要承擔一定的安全風險。采用這條路線的用戶把安全依托在網絡安全和邊界安全上,通過扎緊籬笆來防止安全事故。
最后要表達的觀點是,EOL是很多產品都會面臨的事件,無需過度擔心。不過數據庫產品的EOL影響面更廣一些,處理起來也更麻煩一些,特別是MySQL 5.7,對于一些復雜一些的系統,直接升級到8.0還是需要做一些驗證工作的。作為一個核心的數據資產承載體,沒有安全補丁處于裸奔狀態的數據庫也是一個比較大的隱患。從軟件供應鏈安全上看,商用數據庫Oracle在代碼上的安全性要高于MySQL這樣的開源數據庫,再加上Oracle延長期服務依然在出安全補丁,用戶也可以通過一些特殊渠道獲得安全補丁。因此相對于Oracle數據庫的版本EOL,MySQL 的EOL問題更受企業級用戶的重視。面對即將到來的MySQL 5.7 EOL,IT部門的領導和DBA哪怕沒有做什么動作,多思考一下也是好的。
-
數據庫
+關注
關注
7文章
3795瀏覽量
64366 -
MySQL
+關注
關注
1文章
804瀏覽量
26543
原文標題:聊聊即將到來的MySQL5.7停服事件
文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論