近年來,企業(yè)為了在市場中獲得優(yōu)勢,越來越需要從不斷增長的數(shù)據(jù)量中挖掘出更深入有用的內(nèi)容,大數(shù)據(jù)云平臺作為打通眾多元數(shù)據(jù)與應(yīng)用連通的關(guān)鍵一環(huán),成為各企業(yè)關(guān)注的焦點(diǎn)。12月21日,在第十一屆中國數(shù)據(jù)庫技術(shù)大會大數(shù)據(jù)架構(gòu)設(shè)計(jì)論壇上,金山云大數(shù)據(jù)平臺基礎(chǔ)架構(gòu)技術(shù)負(fù)責(zé)人關(guān)海南分享了《金山云大數(shù)據(jù)架構(gòu)及容器化實(shí)踐》。
從需求出發(fā) 金山云構(gòu)建大數(shù)據(jù)云平臺之路
金山云大數(shù)據(jù)云平臺起初是對公司內(nèi)部提供大數(shù)據(jù)相關(guān)服務(wù),后面衍生出多種產(chǎn)品包括公有云大數(shù)據(jù)平臺、行業(yè)云大數(shù)據(jù)平臺以及企業(yè)云大數(shù)據(jù)平臺,并在多個(gè)行業(yè)廣泛應(yīng)用。
關(guān)海南表示,在構(gòu)建之初,平臺更多是從企業(yè)實(shí)際的業(yè)務(wù)需求和痛點(diǎn)出發(fā):
一是從完備Dataops的思路著手,提供一套完整、易用的大數(shù)據(jù)開發(fā)平臺,業(yè)務(wù)側(cè)基于平臺可以完成離線、實(shí)時(shí)、挖掘等全流程的開發(fā)、測試及部署,并支持各類引擎的導(dǎo)入導(dǎo)出;
二是以賦能數(shù)據(jù)前臺為目標(biāo),在數(shù)據(jù)開發(fā)平臺的基礎(chǔ)上提供高效、高質(zhì)量、標(biāo)準(zhǔn)化的數(shù)據(jù)資產(chǎn)管理系統(tǒng)、數(shù)據(jù)共享系統(tǒng),直接面向業(yè)務(wù)提供服務(wù),符合當(dāng)前的數(shù)據(jù)中臺的建設(shè)思路;
三是從高效管理數(shù)據(jù)的技術(shù)維度出發(fā),提供統(tǒng)一元數(shù)據(jù)引擎、統(tǒng)一查詢引擎、存儲計(jì)算分離、大數(shù)據(jù)容器化等技術(shù)、Hadoop/MPP混合數(shù)倉、多云部署等,比較符合當(dāng)前的湖倉一體的趨勢,并和snowflake推崇DWaaS的Serverless模式相近。
經(jīng)過六年多時(shí)間打磨,金山云推出的航母級大數(shù)據(jù)云平臺涵蓋了數(shù)據(jù)湖和數(shù)據(jù)中臺的設(shè)計(jì)理念。一方面為客戶提供一站式大數(shù)據(jù)平臺,提效客戶業(yè)務(wù)開發(fā)、大規(guī)模資產(chǎn)管理、運(yùn)維保障的大數(shù)據(jù)底層能力;另一方面,以云計(jì)算平臺為核心,形成數(shù)據(jù)湖運(yùn)營管理、數(shù)據(jù)中臺基礎(chǔ)架構(gòu)部門核心能力支撐工具。
金山云大數(shù)據(jù)云平臺集結(jié)了八大組件、兩大支撐體系和一套公共服務(wù)。每一個(gè)組件都達(dá)到了“航母級”標(biāo)準(zhǔn)。其中,標(biāo)準(zhǔn)化組件涵蓋數(shù)據(jù)采集、數(shù)據(jù)集成、數(shù)據(jù)開發(fā)、數(shù)據(jù)分析、數(shù)據(jù)服務(wù)、智能調(diào)度、數(shù)據(jù)管理和存儲計(jì)算八大功能,大數(shù)據(jù)運(yùn)維和大數(shù)據(jù)運(yùn)營兩大支撐體系,實(shí)現(xiàn)從監(jiān)控告警、健康檢查、服務(wù)管理、統(tǒng)一日志、產(chǎn)品管理、資源計(jì)量等的統(tǒng)一管控。公共服務(wù)則包括平臺門戶、項(xiàng)目管理、資源管理、用戶管理幾大類別,為用戶提供高效的數(shù)據(jù)管理能力。
關(guān)海南講到,數(shù)據(jù)開發(fā)平臺包括采集、集成、離線計(jì)算、實(shí)時(shí)計(jì)算、挖掘分析以及調(diào)度系統(tǒng),從Dataops思路出發(fā),為提供便捷的數(shù)據(jù)開發(fā)、數(shù)據(jù)使用,而提供的一套開發(fā)平臺,目前該產(chǎn)品已經(jīng)比較成熟;數(shù)據(jù)資產(chǎn)管理、數(shù)據(jù)服務(wù)、服務(wù)總線等,用于高效賦能前臺,直接面向業(yè)務(wù)提供服務(wù),實(shí)現(xiàn)數(shù)據(jù)中臺的價(jià)值;底層的數(shù)據(jù)存儲與計(jì)算、高效管理數(shù)據(jù)、統(tǒng)一元數(shù)據(jù)、存儲計(jì)算分離、Hadoop、MPP大數(shù)據(jù)容器化等則契合高效管理數(shù)據(jù)的建設(shè)思路。
數(shù)據(jù)湖+中臺 金山云大數(shù)據(jù)云平臺的架構(gòu)基礎(chǔ)
“大數(shù)據(jù)基礎(chǔ)平臺首先少不了Hadoop開源體系,同時(shí)我們在穩(wěn)定性、資源使用率與規(guī)模層面做增強(qiáng),包括存儲計(jì)算分離的MPP以及時(shí)序數(shù)據(jù)庫。”關(guān)海南表示,金山云大數(shù)據(jù)云平臺區(qū)別于 Hadoop 裸平臺,其意在提升大數(shù)據(jù)處理效率,支持大數(shù)據(jù)加工全流程可視化界面操作,提供向?qū)脚渲谩⒃诰€代碼編寫、拖拽式工作流編排、智能的全鏈路監(jiān)控告警體系,非大數(shù)據(jù)專業(yè)人員也能分析處理大數(shù)據(jù)。
目前,金山云大數(shù)據(jù)云平臺破除Hadoop、MPP等關(guān)鍵系統(tǒng)的規(guī)模瓶頸,底層引擎具備高度的可擴(kuò)展性,支持高達(dá)萬臺規(guī)模、百萬級別作業(yè)調(diào)度、百萬QPS 實(shí)時(shí)處理 、十萬以上節(jié)點(diǎn)采集規(guī)模,保障大規(guī)模集群的正常運(yùn)行。金山云大數(shù)據(jù)云平臺支持多云異構(gòu)環(huán)境,不僅可以高效運(yùn)行在金山云的IaaS平臺上,其他主流的IaaS平臺也都可以支持大數(shù)據(jù)云平臺的部署。
事實(shí)上,金山云大數(shù)據(jù)云平臺在設(shè)計(jì)之初就體現(xiàn)出數(shù)據(jù)湖的屬性,統(tǒng)一元數(shù)據(jù),統(tǒng)一查詢引擎,在后續(xù)底層迭代中,架構(gòu)逐漸清晰,遵循計(jì)算、存儲、元數(shù)據(jù)分離架構(gòu)模式。目前,某股份制銀行使用的企業(yè)云版本,用于行內(nèi)的數(shù)據(jù)湖建設(shè),已經(jīng)上線。
關(guān)海南講到,之所以統(tǒng)一元數(shù)據(jù),一方面避免數(shù)據(jù)冗余存儲,方便統(tǒng)一管理;另一方面避免不同引擎獨(dú)立使用導(dǎo)致數(shù)據(jù)的不一致性;同時(shí)可以更好地滿足性能、權(quán)限及數(shù)據(jù)資產(chǎn)等方面的考慮。金山云大數(shù)據(jù)云平臺MPP也支持存儲計(jì)算分離策略,Spark和MPP可以通過統(tǒng)一數(shù)據(jù)湖元數(shù)據(jù)引擎實(shí)現(xiàn)互相訪問。
金山云數(shù)據(jù)湖計(jì)算引擎以Spark/Presto/Flink計(jì)算引擎、Yarn/K8S資源引擎、Hdfs/ks3存儲引擎為主;數(shù)據(jù)湖元數(shù)據(jù)引擎兼容hive-metastore語義,并擴(kuò)展支持外部源,同時(shí)可通過級聯(lián)的方式對接大數(shù)據(jù)云平臺的數(shù)據(jù)管理。
Spark可以讀取MPP在對象存儲的內(nèi)置數(shù)據(jù),MPP也可以以外部表的方式讀取hdfs的hive體系數(shù)據(jù);支持hudi/iceberg等數(shù)據(jù)湖格式存儲在Hdfs,也支持存儲在對象存儲,便于高效靈活管理數(shù)據(jù)。為提升存儲計(jì)算分離特性,金山云大數(shù)據(jù)云平臺引入數(shù)據(jù)湖加速服務(wù),規(guī)避存儲計(jì)算分離帶來的性能問題,引入Alluxio系統(tǒng)。因此,數(shù)據(jù)湖整體體現(xiàn),湖倉一體、流批一體、統(tǒng)一元數(shù)據(jù)、統(tǒng)一權(quán)限、數(shù)據(jù)ACID、向存儲計(jì)算分離演進(jìn)。
關(guān)海南接著講到,LMS(Lake meta service)是數(shù)據(jù)湖核心,兼容Metastore協(xié)議,方便Spark/Presto/Flink/MPP等計(jì)算引擎使用SDK方式透明對接。同時(shí),增加層級、namespace,方便引入不同源、不同存儲,通過對不同存儲格式/存儲目錄文件的抽象,為引擎提供統(tǒng)一元數(shù)據(jù)服務(wù),能夠避免多引擎獨(dú)立使用元數(shù)據(jù)服務(wù)之間的不一致性。“存儲層支持MySQL也支持DragonBase分布式數(shù)據(jù)庫,同時(shí)支持聯(lián)邦模式,方便LMS橫向擴(kuò)展;大數(shù)據(jù)云平臺的元數(shù)據(jù)引擎可以升級為LMS,并通過級聯(lián)方式對接數(shù)據(jù)湖LMS。”關(guān)海南表示。
與傳統(tǒng)大數(shù)據(jù)系統(tǒng)分而治之、功能散亂、運(yùn)維和使用不便等不同的是,金山云大數(shù)據(jù)云平臺遵循“統(tǒng)一”思想,旨在打通大數(shù)據(jù)處理全流程,提供統(tǒng)一門戶、統(tǒng)一調(diào)度、統(tǒng)一元數(shù)據(jù)管理、統(tǒng)一資源管理等服務(wù)。為了消除部門間數(shù)據(jù)壁壘,降低人員準(zhǔn)入門檻,并打造成為構(gòu)筑數(shù)據(jù)中臺的基礎(chǔ)平臺能力。同時(shí),降低混搭架構(gòu)運(yùn)營運(yùn)維復(fù)雜度,提供資源彈性伸縮,并支持資源彈性伸縮、多租戶管理、服務(wù)高可用等完善的云化特性。
90%容器化部署 助力新一代大數(shù)據(jù)PaaS平臺建設(shè)
目前,金山云大數(shù)據(jù)平臺支持90%的大數(shù)據(jù)服務(wù)運(yùn)行在容器內(nèi)。“我們考慮的初衷是,一方面統(tǒng)一在線和離線的資源調(diào)度,用k8s管理資源比yarn更專業(yè),比如更多維度的資源隔離、更靈活的資源超賣與擴(kuò)縮容策略;另一方面,考慮大數(shù)據(jù)云平臺有很多場景是私有部署,除了支持部署在金山云外,也支持部署在其他云的廠商,所以用k8s作資源彈性擴(kuò)縮容,比調(diào)用IaaS接口來說更為統(tǒng)一。”關(guān)海南表示,某國有銀行使用的行業(yè)云版本,80%組件容器化部署,目前內(nèi)部已有幾十個(gè)大型項(xiàng)目使用。
大數(shù)據(jù)容器開放平臺,通過對大數(shù)據(jù)組件與容器引擎深度結(jié)合,通過拖拽組件、技術(shù)元素等方式形成服務(wù)及大數(shù)據(jù)平臺層,屏蔽容器化底層技術(shù),提供應(yīng)用商店的模塊化策略,提升研發(fā)、測試、運(yùn)維及實(shí)施效率。
面向研發(fā)人員,拖拽方式形成新的服務(wù),屏蔽容器化技術(shù),快速納管到容器開放平臺,通過微服務(wù)技術(shù),減少重復(fù)造輪子;面向測試人員,便捷提供測試沙箱,自動(dòng)運(yùn)行用例,微服務(wù)故障注入等;面向運(yùn)維人員,可以通過開放平臺,看到整個(gè)大數(shù)據(jù)云平臺運(yùn)行實(shí)例的狀態(tài),異常監(jiān)控可以迅速判斷影響范圍及上下游,運(yùn)維操作方便;面向?qū)嵤┤藛T,通過大數(shù)據(jù)應(yīng)用商店,迅速部署不同場景、版本的大數(shù)據(jù)云平臺,減少部署的人力和時(shí)間成本;面向產(chǎn)品人員,通過拖拽大數(shù)據(jù)服務(wù)的不同組合,形成不同行業(yè)、不同版本、不同演示環(huán)境的平臺組合。
關(guān)海南講到,大數(shù)據(jù)容器開放平臺的邏輯架構(gòu),主要分為組件定義、應(yīng)用定義、集群管理、集成與部署、大數(shù)據(jù)商店等,側(cè)重點(diǎn)在于如何穩(wěn)定、高效的容器化運(yùn)行大數(shù)據(jù)組件及服務(wù)。其中,Alluxio存儲代理層,提供通用的分布式存儲緩存,減少回源次數(shù),提升存儲存取效率;作為存儲代理層,可以對接更多的存儲介質(zhì)、包括公有云存儲,提高存儲擴(kuò)展性;與k8s結(jié)合,補(bǔ)充大數(shù)據(jù)應(yīng)用在k8s上的存儲短板,存儲多樣化、提升存儲性能。Istio網(wǎng)格,用于解決多集群網(wǎng)絡(luò)通信及精細(xì)化容器管理。
演講最后,關(guān)海南表示作為面向企業(yè)級的新一代大數(shù)據(jù)PaaS平臺,金山云大數(shù)據(jù)云平臺打造為云而生的大數(shù)據(jù)生態(tài),提供云端數(shù)據(jù)采集、數(shù)據(jù)集成、數(shù)據(jù)管理、數(shù)據(jù)開發(fā)、作業(yè)調(diào)度等一站式大數(shù)據(jù)處理環(huán)境。
平臺提供全方位、多數(shù)據(jù)類型、可視化數(shù)據(jù)采集能力,其中數(shù)據(jù)傳輸層是金山云整個(gè)大數(shù)據(jù)平臺的基石,經(jīng)過了公司內(nèi)部萬臺節(jié)點(diǎn)傳輸?shù)拇蚰ィС侄喾N傳輸模式;數(shù)據(jù)集成支持多種引擎間的理性同步,提供豐富數(shù)據(jù)檢核和加工的算子,提供MPP及Hadoop的計(jì)算與集成能力;在開發(fā)過程中,因?yàn)楹芏嘟鹑诠荆瑢﹂_發(fā)、測試、生產(chǎn)完全隔離,所以金山云開發(fā)三態(tài)導(dǎo)入導(dǎo)出功能,便捷的滿足隔離要求。
“數(shù)據(jù)資產(chǎn)管理和數(shù)據(jù)服務(wù),是直接賦能業(yè)務(wù),中臺屬性比較突出的兩個(gè)點(diǎn)。數(shù)據(jù)資產(chǎn)管理平臺,是我們目前投入比較多的一部分,包括統(tǒng)一元數(shù)據(jù)、數(shù)據(jù)標(biāo)準(zhǔn)建模、數(shù)據(jù)血緣、數(shù)據(jù)目錄、數(shù)據(jù)安全等。數(shù)據(jù)服務(wù)包括提供統(tǒng)一查詢引擎、提供服務(wù)總線、API管理等,大大減少數(shù)據(jù)重復(fù)建設(shè)。”關(guān)海南表示。
目前,金山云大數(shù)據(jù)云平臺主要面向金融、公共服務(wù)、醫(yī)療等領(lǐng)域,通過構(gòu)建AI驅(qū)動(dòng)的大數(shù)據(jù)云平臺,為智慧金融、智慧城市、智慧醫(yī)療等領(lǐng)域提供強(qiáng)大的智能化決策支持。面向未來,金山云大數(shù)據(jù)云平臺將持續(xù)完善技術(shù)產(chǎn)品服務(wù)體系、優(yōu)化數(shù)據(jù)處理性能,幫助客戶快速構(gòu)建全新的大數(shù)據(jù)落地能力,更高效地掘金萬億級大數(shù)據(jù)服務(wù)市場。