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