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