淺談軟件國產(chǎn)化對數(shù)據(jù)技術(shù)發(fā)展的影響
長期以來,國內(nèi)數(shù)據(jù)技術(shù)都由海外廠商主導(dǎo)。然而隨著國際競爭環(huán)境日益激烈,爭端所引發(fā)的技術(shù)卡脖子事件頻發(fā), 2022年3月Cloudera宣布停止對CDH技術(shù)支持以及Apache Log4j引發(fā)嚴(yán)重安全漏洞的問題,企業(yè)對核心技術(shù)自主可控的意愿急迫,國產(chǎn)化替換需求不斷增強。本文將探討國產(chǎn)化趨勢下,大數(shù)據(jù)平臺該何去何從。主要包括以下幾大方面:
- 為什么要做軟件國產(chǎn)化?
- 軟件國產(chǎn)化?臨的挑戰(zhàn)
- 數(shù)帆?主?數(shù)據(jù)平臺介紹
01 為什么要做軟件國產(chǎn)化?
1. 軟件國產(chǎn)化的必要性-外部形勢
從2020年至今,隨著中美貿(mào)易戰(zhàn)的不斷升級,美國商務(wù)部限制美企對華為、中興、大疆等企業(yè)的各種零部件出口。此外,俄烏戰(zhàn)爭導(dǎo)致Oracle、Apple、Google等被限制向俄羅斯出口。面對特殊的大環(huán)境,全球化帶來的科技創(chuàng)新共同體背后,國家IT產(chǎn)業(yè)實現(xiàn)自主可控的重要性不言而喻。
2. 軟件國產(chǎn)化的必要性-安全因素
2021年底爆出的log4J漏洞,因使用率較高且沒有修復(fù)方案,尤其對于一些信息安全要求較高的金融或政府類單位來說,影響范圍極大。對于一個產(chǎn)品來說,如果不能掌握源代碼,那只能通過等待發(fā)版或者一些治標(biāo)不治本的封禁手段來修復(fù)漏洞,然而大多時候產(chǎn)品的發(fā)版速度跟不上實際應(yīng)用節(jié)奏,因此急需一個可以掌控的技術(shù)環(huán)境,能滿足我們對安全的要求。
3. 軟件國產(chǎn)化的必要性-安全政策導(dǎo)向
我國在軟件國產(chǎn)化方面正在向自主可控方向發(fā)展。芯片領(lǐng)域如飛騰、鯤鵬、龍芯、海光等;服務(wù)器PC產(chǎn)品有華為、浪潮、新華三等。數(shù)據(jù)庫也正在往國產(chǎn)化方向發(fā)展,如OceanBase、PostgreSQL、TiDB、達(dá)夢、人大金倉等。
為確保國家信息安全,政府部門出臺了一系列的相關(guān)政策以支持IT系統(tǒng)的國產(chǎn)化。政策導(dǎo)向也在鼓勵國內(nèi)的各行業(yè)向自主可控方向發(fā)展。
02 軟件國產(chǎn)化的挑戰(zhàn)
1. 什么是國產(chǎn)化?
《數(shù)據(jù)庫導(dǎo)論》的作者Andy Pavlo稱國內(nèi)大部分自主可控的數(shù)據(jù)庫系統(tǒng)都是從MySQL或者Postgres的分支上發(fā)展起來的,這些數(shù)據(jù)庫算不算國產(chǎn)化?
2. 國產(chǎn)化的核心
國產(chǎn)化的核心并不是從0到1的建設(shè),而是能夠掌握源代碼,深入理解其原理和實現(xiàn),對不合理的內(nèi)容進(jìn)行改造,并在此基礎(chǔ)上進(jìn)行更多的優(yōu)化和功能增強。這就是軟件國產(chǎn)化自主可控的表現(xiàn)。
軟件國產(chǎn)化自主可控另一個方面是整個軟件生態(tài)的建設(shè),通過做一些工具讓生態(tài)閉環(huán)更加完整,在兼容老的生態(tài)的基礎(chǔ)上構(gòu)建自身生態(tài)。
3. 國產(chǎn)化的現(xiàn)狀
操作系統(tǒng)領(lǐng)域:作為軟硬件的紐帶,國內(nèi)如中標(biāo)麒麟、統(tǒng)信UOS、OpenEuler等都有了不錯的發(fā)展。
數(shù)據(jù)庫領(lǐng)域:大批數(shù)據(jù)庫廠商不斷涌現(xiàn),如OceanBase、TiDB、GaussDB及達(dá)夢數(shù)據(jù)庫等。
軟件領(lǐng)域:如金山WPS、用友、金蝶等。
經(jīng)過一段時間的發(fā)展后,我國在軟件方面產(chǎn)品的成熟度以及認(rèn)知度日漸提升。從圖表中可以看到,2021年OpenEuler在金融行業(yè)的裝機(jī)量占比23.3%,金融機(jī)構(gòu)的操作系統(tǒng)正在慢慢的向國產(chǎn)化方向轉(zhuǎn)變。數(shù)據(jù)庫方面雖然也有部分機(jī)構(gòu)做了一些替換,但是案例較少,原因在于金融核心交易系統(tǒng)的穩(wěn)定性是第一要義,新研發(fā)數(shù)據(jù)庫產(chǎn)品對于上層系統(tǒng)的兼容性難以完全覆蓋,一旦出現(xiàn)問題,可能會影響整個交易鏈路,這對于金融機(jī)構(gòu)是不能接受的。
4. 大數(shù)據(jù)平臺的現(xiàn)狀
中國信息通訊研究院在2019做了一個關(guān)于國內(nèi)大數(shù)據(jù)平臺發(fā)行版本的統(tǒng)計,其中超過70%是在CDH 或者HDP的基礎(chǔ)上包裝成產(chǎn)品對外提供的,24%是在Apache開源產(chǎn)品上做一些加工,6%的版本是自研產(chǎn)品。從2021年1月31日開始,所有Cloudera軟件都需要有效的訂閱,并且只能通過付費墻進(jìn)行訪問。這說明大數(shù)據(jù)平臺免費的時代將要終結(jié)。
5. 大數(shù)據(jù)平臺的選擇
大數(shù)據(jù)平臺正在慢慢向付費方向切換,如果繼續(xù)保持版本不變 ,由于官方不再提供服務(wù),則可能會存在嚴(yán)重漏洞及性能上的不足,對于安全要求較高的金融或政府行業(yè)來說,在生產(chǎn)上存在較大的風(fēng)險。
如果做升級改造,也會存在升級風(fēng)險,對于一些服務(wù)不可中斷的行業(yè),需要一個更平滑更穩(wěn)定的遷移方式,同時上層產(chǎn)品的兼容性也是一個重要的考量標(biāo)準(zhǔn)。
6. 大數(shù)據(jù)平臺升級的幾種方式
- 原地升級,不需要額外的機(jī)器資源,但需要停機(jī)升級,錯誤回滾是一個很大的問題。
- 遷移升級,重建一套系統(tǒng),然后將數(shù)據(jù)拷貝過去。這種遷移可以做到不停服務(wù),對線上系統(tǒng)無感知,但是需要額外的機(jī)器資源,成本及時間支出較高。
- 滾動升級,滾動升級需要對業(yè)務(wù)做一些拆分,然后基于業(yè)務(wù)部分遷移。這種方式相對遷移升級來說,對資源的需求相對更少,是一個對成本控制和業(yè)務(wù)影響相對穩(wěn)妥的方案。
03 數(shù)帆大數(shù)據(jù)平臺介紹
1. 網(wǎng)易數(shù)帆的發(fā)展歷程
網(wǎng)易數(shù)帆從2009年就開始研發(fā)大規(guī)模分布式系統(tǒng),2015年大數(shù)據(jù)平臺、數(shù)據(jù)可視化平臺上線,經(jīng)過十多年的發(fā)展,已經(jīng)形成從數(shù)據(jù)存儲、數(shù)據(jù)治理、數(shù)據(jù)研發(fā)、數(shù)據(jù)展示的完整的解決方案和產(chǎn)品架構(gòu)。
2. 網(wǎng)易有數(shù)基礎(chǔ)團(tuán)隊
網(wǎng)易有數(shù)基礎(chǔ)團(tuán)隊主要負(fù)責(zé)集團(tuán)內(nèi)部大數(shù)據(jù)平臺內(nèi)核底層技術(shù)的研發(fā),如Hadoop 、OLAP 、Impala 、Spark 等,還貢獻(xiàn)了Apache的 Kyuubi 項目,是支撐網(wǎng)易數(shù)帆產(chǎn)品的底層基座。
3. 網(wǎng)易有數(shù)平臺支持
在持續(xù)保持良好的核心技術(shù)支撐的同時 ,有數(shù)平臺同時還在積極做國內(nèi)信創(chuàng)安全適配,通過一系列的技術(shù)改造,有數(shù)整體平臺能夠兼容包括華為鯤鵬芯片、麒麟操作系統(tǒng)等符合信創(chuàng)要求的基礎(chǔ)設(shè)施。有數(shù)平臺后續(xù)的發(fā)展會致力于搭建更兼容的平臺架構(gòu)。
4. 數(shù)帆有數(shù)平臺
數(shù)帆有數(shù)平臺融合了網(wǎng)易10多年的平臺建設(shè)經(jīng)驗,依托社區(qū)優(yōu)勢,致力于打造自主可控的數(shù)據(jù)底座,并實現(xiàn)易用性、穩(wěn)定性、安全性等的升級。
5. 網(wǎng)易有數(shù)平臺增強
有數(shù)平臺還會在開源大數(shù)據(jù)框架的基礎(chǔ)上做一些增強,如Hadoop的回收站功能、Impala的虛擬數(shù)倉隔離和負(fù)載均衡、Spark的權(quán)限管控和 Ranger 兼容、Hive的負(fù)載問題等。
Impala 的增強體現(xiàn)在把所有的節(jié)點通過 group分組,對不同業(yè)務(wù)進(jìn)行隔離,從而避免業(yè)務(wù)之間的資源沖突。同時也通過自研管理服務(wù)器進(jìn)行SQL審計,通過收集查詢習(xí)慣進(jìn)行預(yù)計算,從而減少部分查詢對整體的影響。
此外在HDFS上也做了增強回收站的功能,通過修改 HDFS源碼,確保刪除數(shù)據(jù)首先保存到回收站,防止數(shù)據(jù)異常刪除。
6. 網(wǎng)易有數(shù)服務(wù)策略
有數(shù)平臺還提供三位一體的服務(wù)支持。技術(shù)人員幫助客戶快速熟悉產(chǎn)品,使得用戶遇到問題可以有效解決,用戶遇到故障時,運維人員能夠快速主動提供運維增值服務(wù)。此外還提供研發(fā)兜底機(jī)制,一旦出現(xiàn)內(nèi)核層面的問題,研發(fā)團(tuán)隊會快速響應(yīng)進(jìn)行修復(fù)。
7. 平臺遷移支持
平臺支持Apache Hadoop、CDP、HDP等的遷移。在Hive元數(shù)據(jù)遷移過程中需要考慮元數(shù)據(jù)兼容性問題,業(yè)務(wù)數(shù)據(jù)的遷移主要通過鏡像后定時增量拷貝的形式同步數(shù)據(jù),同時提供遷移工具進(jìn)行權(quán)限的一鍵式遷移,我們還構(gòu)建了調(diào)度平臺,并提供Oozie調(diào)度任務(wù)的遷移工具。
04 Q&A環(huán)節(jié)
Q1:CDH 底層技術(shù)該怎么做?在金融行業(yè)遷移需要重點關(guān)注哪些問題?
A1:CDH遷移涉及到平臺的構(gòu)建、兼容性的遷移等等,由于遷移過程的復(fù)雜性,我們會針對每個用戶設(shè)計遷移方案,根據(jù)用戶的使用習(xí)慣進(jìn)行遷移。
Q2:金融技術(shù)的自主可控需要關(guān)注哪些問題?
A2:第一個關(guān)注點是目標(biāo)供應(yīng)商對大數(shù)據(jù)平臺的自主可控能力,是否有對底層源碼的一個掌控能力。第二個關(guān)注點是供應(yīng)商能否完全兼容平臺的平滑遷移。
Q3:金融行業(yè)做數(shù)據(jù)中臺有哪些價值?
A3:數(shù)據(jù)中臺主要做數(shù)據(jù)研發(fā)、數(shù)據(jù)質(zhì)量、數(shù)據(jù)服務(wù)的事情,各個業(yè)務(wù)單元所提供的數(shù)據(jù)口徑是不一致的,數(shù)據(jù)中臺可以將數(shù)據(jù)口徑進(jìn)行統(tǒng)一,這樣可以在權(quán)限管控、質(zhì)量管控、資源管控等方面做更好的控制。
Q4:很多公司基于HDP+Ambari 管控平臺做大數(shù)據(jù)平臺的封裝?
A4:CDH+ cloud manager是商業(yè)化的產(chǎn)品,HDP+Ambari是開源的,這也是大家選擇的原因。CDH更改了擴(kuò)展后,如果使用Ambari屬于盜版行為,會被追究法律責(zé)任。數(shù)帆也是因為Ambari 的問題,基于hadoop官方社區(qū),建立一套自己的管控平臺。
Q5:關(guān)于大數(shù)據(jù)組件的升級換代有什么建議?
A5:從大的方向來說,升級是有必要的,版本升級換代有助于性能和安全層面的提升,如果老版本的安全風(fēng)險和性能是可接受的,可以暫不升級,如果需要更高的性能或安全需求,則可以考慮升級。
Q6:網(wǎng)易大數(shù)據(jù)平臺的數(shù)據(jù)安全性如何保障?
A6:網(wǎng)易大數(shù)據(jù)平臺依托于現(xiàn)有開源的社區(qū)的組件能力,基于Kerberos加 Ranger 的權(quán)限控制體系,同時做一些增強,對于組和用戶對資源的訪問權(quán)限進(jìn)行細(xì)粒度的控制。此外在產(chǎn)品層面也做了安全中心,來保證底層數(shù)據(jù)訪問的安全性。
Q7:有 K8S組件的規(guī)劃嗎?
A7:這是我們未來的發(fā)展方向,去年在K8S 上做了Spark調(diào)度,以解決在線業(yè)務(wù)的錯峰調(diào)度,今年會慢慢地會考慮整個底層基礎(chǔ)平臺往 K8S 方向上做,如OLAP、Flink 等的業(yè)務(wù)。
Q8:網(wǎng)易用什么工具做平臺維護(hù)?
A8:網(wǎng)易做了一套EasyOps來管控整個大數(shù)據(jù)的底座,提供自動化運維方案。
Q9:網(wǎng)易的大數(shù)據(jù)平臺有和HDP或 CDH做對比嗎?
A9:網(wǎng)易的基礎(chǔ)組件是跟CDH等的大的社區(qū)一致的,同時根據(jù)實際應(yīng)用情況對一些基礎(chǔ)組件進(jìn)行深度增強及性能上的改善。
今天的分享就到這里,謝謝大家。