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