金融信創湖倉一體數據平臺架構實踐
一、數據平臺架構演進
大數據基礎設施的發展經歷了四個主要階段,每個階段都有著標志性的技術進步來應對新的應用需求。
第一階段:數據倉庫。在這個階段,數據平臺主要用于支持在線分析處理(OLAP)和商業智能(BI)報表分析。技術上的代表包括 Oracle 的共享存儲架構和 Teradata 的大規模并行處理架構。
第二階段:數據平臺。隨著大數據的興起,數據平臺開始以大規模數據存儲和計算為特點,主要服務于流批計算場景。這一階段的代表技術是 Hadoop,它從早期的單一 MapReduce 計算引擎發展到支持多元化計算引擎的 2.0 階段,能夠應對更復雜的數據分析需求。
第三階段:數據中臺。數據中臺在技術上延續了數據平臺的相關技術,如Hadoop,并融合了數據組織和變革管理,形成了更為完善的數據服務能力。
第四階段:云數據平臺。當前的云數據平臺以云原生架構為基礎,提供了如云數據倉庫等創新產品。代表產品包括 Snowflake 和 Databricks,它們支持云上多租戶資源彈性伸縮和按使用量計費。技術上,這一階段出現了流批一體、湖倉一體和存算分離等先進的數據架構。
當前數據平臺發展的第一個重要趨勢是云原生與大數據的結合。這種結合形成了一種新型的數據平臺架構,它利用云原生的資源調度和存儲統一負載能力,在資源利用率、彈性調度計算以及標準化部署和升級等方面發揮云原生的優勢。這種架構不僅提高了數據處理效率,還增強了數據平臺的靈活性和可擴展性,為企業提供了更加高效和可靠的數據服務。
第二個重要趨勢是湖倉一體,傳統的湖倉融合架構雖然能夠處理多種數據類型,但由于數據冗余存儲和依賴 ETL 任務的數據搬運,存在數據時效性和一致性差的問題,同時增加了開發和運維的復雜性。
湖倉一體架構則解決了這些問題,它整合了數據湖和數據倉庫的優勢,創建一體化和開放式的數據處理平臺。這種架構允許底層統一存儲和管理多種類型的數據,并實現了數據在湖倉之間的高效調度和管理。此外,它還能夠向業務層提供統一的查詢和分析能力,提高了數據的時效性和一致性,降低了開發和運維成本,為企業的數據分析和決策提供了強有力的支持。
第三個重要趨勢是存算分離。長期以來,Hadoop 一直以存算一體的架構提供大數據能力,但隨著企業內部網絡帶寬的快速增長和數據規模的膨脹,以及數據湖技術的發展,大數據基礎設施正朝著存算分離的架構演進。
存算分離的核心是將 Hadoop 的資源調度 Yarn 和存儲集群 HDFS 分開部署,實現存儲和資源管理的解耦。這種方式雖然會增加運維負擔且犧牲一些本地讀性能,但實踐經驗表明,這些損失是可控的,尤其適用于關注成本和私有化場景的客戶場景。
進入云原生時代后,存算分離的架構變得更加多元化。底層存儲可以是 HDFS,也可以是 S3 對象存儲等,而資源調度框架則全面擁抱 Kubernetes 進行資源調度和管理。這種架構提供了更高的靈活性和擴展性,有助于優化資源使用和降低成本,同時保持大數據平臺的高性能和可靠性。
第四個趨勢是混合云和數據云。隨著企業數據中心的日益普及,同時存在于公有云和私有云的情況越來越常見。企業需要一套平臺來統一管理這兩類云上的數據中心,確保跨云數據流動的安全。
為了保障企業內部及企業間數據的安全流通,需要采用如數據沙箱、隱私計算等技術。這些技術可以幫助解決數據在不同企業間安全流動的問題。對于一個數據平臺來說,支持多租戶之間數據安全流通的解決方案是必不可少的。
二、金融信創對數據平臺的挑戰
接下來,在第二部分中,將聚焦于金融信創領域,剖析數據平臺所面臨的挑戰。
“信創”是我國信息技術應用創新的簡稱,其目標是推動 IT 產業鏈核心技術的國產化,實現安全自主可控。大數據組件的信創化適配是信創戰略的重要組成部分。在金融行業,信創化的推廣和落地正在加速進行,大數據組件信創適配是當下的重要挑戰。
大數據信創化的必要性主要體現在兩個方面:一是海外大數據平臺產品如 CDH 的許可費用高昂,二是這些產品并不能完全支持我國信創環境中的軟件和硬件。因此,大數據組件的信創化適配成為了一項重要任務。
信創化適配過程遠比簡單的開源技術遷移復雜。首先,需要對國產 CPU 芯片、操作系統、數據庫和云平臺等進行逐一適配。完成這一階段后,還需解決不同大數據組件間的版本沖突、依賴包沖突,以及組件組合使用中的問題。這要求專業的大數據團隊基于開源技術,經過編譯、組裝、打包、部署和測試等一系列流程,最終實現可交付給客戶的生產環境部署。
第二個挑戰是大數據組件的穩定性、性能和安全。為確保在創新環境下的大數據組件具備高可用性和穩定性,需執行以下步驟:
- 全面適配主流大數據計算、存儲和分析組件,確保它們能在云原生環境下順利運行。
- 對適配后的組件進行性能調優,以解決信創與非信創環境下性能差異的問題。
- 針對云原生環境和存算分離架構進行性能優化,以滿足不同業務場景需求。
- 進行大規模性能測試和優化,確保組件在實際部署中的表現。
同時,大數據平臺的安全性不容忽視。需從用戶管理、租戶管理、權限管理和審計中心等多維度保障平臺安全。這包括對安全組件如 Kerberos、OpenLDAP 等進行信創環境適配,以及對多租戶系統、權限系統和審計系統等進行信創化適配。通過全面的安全保障措施,確保大數據平臺在信創環境下的安全性。
第三個挑戰是大數據集群的遷移和混合部署。這個過程是逐步推進的,涉及新老集群的并行運行和過渡。因此,需要開發支持異構環境下集群數據遷移的工具,并最大化復用現有老集群的服務器資源。
為了有效復用原有資源,信創大數據平臺需具備多種混合部署的能力。這包括支持不同 CPU 架構、硬件規格和操作系統之間的混合部署。這些要求對大數據信創化提出了更高的挑戰。
三、云數據智能平臺 DataCyber
第三部分詳細介紹數新網絡在金融信創背景下獨立自主研發的云數據智能平臺 DataCyber 的架構設計和相關實踐。
1. 設計目標
在介紹 DataCyber 技術架構之前,首先闡明一下整個系統的設計目標。平臺的首要設計目標是在國產信創環境下,打造一個技術上自主可控的大數據平臺。同時,我們并不追求從零開始研發大數據引擎,而是希望通過開源社區生態,共同參與構建新的大數據引擎技術,確保平臺的開放性和兼容性。
在技術選型上,我們采用的是云原生湖倉一體的架構。這種架構結合了云原生和湖倉一體的技術優勢,實現新一代云數據智能平臺。我們還希望平臺能夠實現 Data + AI 一體化,即數據平臺和 AI 平臺之間的打通,抽象和提取兩個平臺通用的技術組件,打通賬號租戶體系等等。
此外,整個平臺是基于多租戶體系設計的。既要保障租戶內部的隔離和安全,也要支持跨租戶之間的數據開放共享。這是數據平臺的關鍵能力,特別是在金融場景下,客戶需要在不同企業主體之間通過數據流通實現數據價值分析和挖掘。
2. 架構設計
上圖展示了 DataCyber 的總體架構,DataCyber 是一個開放式的云數據智能平臺,它的設計旨在支持異構硬件環境,包括傳統的 X86 服務器以及 ARM、MIPS 等新興 CPU 架構。平臺底層能夠適應不同云平臺廠商的私有云、混合云等場景。
DataCyber 的產品矩陣由下至上分為幾個層次:
- CyberEngine:負責提供湖倉引擎底座以及大數據集群管理運維能力,為數據平臺和 AI 平臺提供底座支撐。
- CyberData:面向開發者和用戶提供數據平臺的一站式產品能力。
- CyberAI:面向開發者和用戶提供 AI 平臺的一站式產品能力。
- CyberMarket:負責跨租戶之間安全流通數據模型、算法應用,促進數據價值的最大化。
后續將詳細介紹 DataCyber 各個組件的架構,展示如何通過這些組件實現數據的智能處理和分析,以及如何在確保安全的前提下促進數據在不同租戶間的共享和流通。
(1)CyberEngine
首先介紹一下賽博數智引擎 CyberEngine ,它是一個先進的大數據管理平臺,其架構設計既支持云原生環境,同時兼容傳統數據架構。平臺自下而上分為四個層次:資源調度、數據存儲、數據引擎和管理平臺。
在資源調度層,CyberEngine 提供了統一的資源管理,支持云原生 K8S 調度和傳統的 Yarn 調度,以幫助客戶平滑過渡到云原生架構。數據存儲層既支持傳統的 HDFS 存儲,也支持對象存儲和新型數據湖格式,提供了元數據服務、數據入湖、數據湖加速和管理等核心服務。數據引擎層包括流引擎、批引擎和交互分析引擎,基于開源技術構建,形成高性能、高穩定性的大數據引擎發行版,滿足不同場景需求。此外,還包括統一數據集成引擎、統一任務調度引擎、統一元數據服務引擎和統一 SQL 引擎,為 CyberData 和 CyberAI 平臺提供支撐。管理平臺由 EngineManager 產品構成,提供一站式的大數據集群規劃、部署和運維管理,目標是成為智能高效的大數據技術基礎設施管理平臺,服務于企業內部的大數據管理運維人員。
CyberEngine 產品特點包括:完全云原生化,支持多租戶和多集群管理,以及全面的發布、配置、管理、操作和審計功能;支持主流大數據組件版本,包括計算存儲組件、數據湖引擎和分析型引擎,且在穩定性和性能上優于開源組件;支持大規模部署和管理。
(2)CyberData
CyberData 是一個一站式的大數據智能研發和治理平臺,它的設計理念是模塊化和可插拔,可以拆分成不同的子產品以滿足不同的需求。這些子產品包括數據建模、數據集成、數據開發運維、數據資產治理、數據安全、數據服務等等。平臺支持多種湖倉架構,包括離線數倉、實時數倉、流批一體數倉以及湖倉一體架構,滿足企業內部數倉工程師、數據分析工程師和數據管理人員的需求。
CyberData 采用云原生技術架構,能在多云環境中部署,支持多環境、多區域以及多集群的大規模企業應用。在信創化方向,CyberData 不僅支持各種信創軟硬件環境,還能接入國產化數據庫和數據源,將業務數據采集到平臺進行加工處理和分析。
CyberData 的核心能力包括統一的元數據管理、數據集成能力和數據開發任務的工作流調度,這些能力都由 CyberEngine 產品的四個核心服務引擎提供支持。
(3)CyberAI
CyberAI 是一個一站式的機器學習平臺,旨在為算法工程師、數據科學家和數據分析師提供服務。該平臺首先強調的是對底層基礎設施的管理和接入能力,這是基于 CyberEngine 提供的統一服務底座引擎的接入能力。通過這種方式,CyberAI能夠有效地管理資源和數據接入。
此外,CyberAI 平臺能夠與 CyberData 數據平臺無縫對接。這種整合能力體現在租戶賬號體系以及數據源的接入和管理方面,實現了真正的一體化能力。
在產品化能力方面,CyberAI 平臺不僅支持傳統的交互式和可視化建模能力,還針對企業間數據流通的場景提供了算法沙箱和聯邦學習支持,以實現跨租戶的數據流通和算法訓練。此外,該平臺還集成了大模型工具的相關能力,用戶可以在這個平臺上一站式完成大模型應用的構建過程。
(4)產品輸出形態
云數據智能平臺 DataCyber 展示了其產品的高度開源開放性。DataCyber 的三個主要產品 CyberEngine、CyberData 和 CyberAI 均能單獨輸出,并與其他開源組件和大數據分析數據庫保持最大兼容性。這些產品通過插件化和標準化方式,支持包括 CDH/CDP 國產化替代、大數據底座構建、數據開發和治理以及機器學習框架集成等多樣化場景。
- CyberEngine:作為大數據底座,能以插件化方式接入主流大數據組件,適合從零開始構建大數據平臺,如銀行 CDH 替換等場景。
- CyberData:通過標準化插件接入大數據底座,快速支持開源和商用集群以及云原生集群的數據開發和治理,適用于構建各類企業級數據平臺的場景。
- CyberAI:作為一站式機器學習平臺,以插件化方式集成 TensorFlow、PyTorch 等框架,適用于私有云企業機器學習平臺等場景。
產品間的組合輸出也提供了更多可能性,例如:
- CyberEngine + CyberData:構建大數據底座+一站式 DataOps 平臺的組合能力,例如:云原生湖倉一體平臺。
- CyberEngine + CyberAI:構建大數據AI底座+一站式 MLOps 平臺的組合能力。
- CyberData + CyberAI:構建數智一體化平臺,從產品能力上可對標 Databricks 和 Snowflake。
在云上輸出湖倉一體平臺,
- CyberEngine + CyberData + CyberAI:提供一站式的大數據 AI 底座、DataOps 平臺和 MLOps 平臺組合,輸出云原生彈性湖倉一體平臺,滿足客戶的多樣化應用場景。
3. 核心技術組件
接下來介紹 DataCyber 的幾個核心技術組件。
首先是信創云原生湖倉引擎(CyberLakehouse),這是一個結合了信創環境和云原生技術的湖倉引擎。它在信創環境中進行了全棧適配,從基礎硬件到操作系統,再到產業生態,確保大數據組件的國產化適配。在此基礎上,實現了基于容器化的大數據組件標準化發布流程和源碼適配,支持云原生部署。再往上是湖倉一體架構,它要求存算分離、開放式存儲、計算組件靈活擴展,以及統一標準化元數據服務。
基于這些要求,CyberLakehouse 架構分為三層:
- 存儲層:提供統一存儲和 HDFS 格式支持以及數據訪問層的加速。其中訪問層加速包括 Alluxio 等緩存加速和 Celeborn 等服務,提高存算分離架構下的訪問穩定性和性能。
- 計算層:基于云原生資源調度(K8S),支持批處理(Hive/Spark)、流處理(Flink)和交互分析(StarRocks/Presto/Impala)引擎。
- 管理層:提供集群規劃、管理、實施和部署運維監控的一站式操作平臺。
這些技術組件共同構成了 DataCyber 的湖倉一體平臺,為大數據運維管理人員提供了一站式的操作平臺,支持多種計算組件和存儲格式,確保了高性能和靈活性。
上圖介紹了 DataCyber 的 CyberLakehouse 在研發過程中對開源大數據組件進行的大量的二次開發和適配工作。目前,已全面適配覆蓋了批處理引擎 Hive、Spark,流計算引擎 Flink,以及交互分析引擎 Impala、Presto 等。主要工作成果包括:
- Hive:解決了 Hive 與高版本 Hadoop、K8s、數據湖組件和數據緩存系統的適配問題。
- Spark:實現了 Spark 在高版本 Hadoop3 上的適配,以及 Spark on Hive 和 Spark on k8s 的部署能力,支持彈性的擴縮容。
- Flink:支持 Flink on k8s 的彈性部署,并對 Flink 的 session集群進行了資源彈性管理的二次開發,實現了作業的彈性伸縮。
- 數據湖集成:對 Hudi 和 Paimon 等數據湖引擎進行了集成。
- 分析引擎:對 Impala 和 Kudu 進行了定制化的二次開發和適配,解決了 Impala 在云原生環境下的部署問題,并支持 CDH 老用戶的平滑升級。
- 安全性:解決了 Kerberos、Ranger 和 OpenLDAP 的集成問題,提供了金融級客戶的安全需求解決方案。
經過這些適配和開發工作,CyberEngine 產品的最新版本 2.3.0 已經具備了超越 CDH 的組件覆蓋度,并在組件版本上優于 CDH 的老版本,實現了產品化的輸出。
統一元數據服務引擎 CyberMeta 是大數據平臺的核心技術組件,它實現了湖倉平臺元數據在整個平臺的統一管理,以及外部數據源元數據的主動發現和多計算引擎間元數據的互通互聯。此外,它還支持跨多元計算場景,以及在元數據基礎上的統一數據權限管理和數據湖的自動化優化加速。
為了滿足多元異構大數據計算引擎對元數據的需求,統一元數據服務引擎支持兩種模式:
- 與 Hive Metastore 集成:通過 Hive 的標準化的元數據能力,為不同的分析計算引擎提供元數據管理和服務。
- 基于 Spark 和 Flink 的自定義 Catalog 擴展機制:擴展支持更大范圍的數據源元數據管理能力,使 Spark 和 Flink 引擎能夠訪問關系型數據庫,以及實現與湖倉數據源之間的跨源數據訪問。
統一任務調度引擎 CyberScheduler 是大數據平臺的另一個核心技術組件,它負責數倉任務的工作流調度,確保了任務的高效執行和數據流程的穩定性。CyberScheduler 的架構分為三層:
- Web 服務和 Scheduler API 層:為用戶提供調度任務的接口。
- 協調器集群(Coordinator 集群):一個分布式的調度系統,負責作業實例的生成和按照工作流依賴進行調度,同時提供 API 服務化接口。它強調服務的穩定性、高并發和低延遲。
- 工作者集群(Worker 集群):執行不同類型的作業,包括本地執行和遠程提交到 Hadoop、K8S 等平臺執行的任務。它關注任務的擴展性和資源隔離性。
CyberScheduler 覆蓋了多種作業類型,支持周期調度、靈活的依賴關系、補數據和斷點重跑等功能。它能夠適應不同任務規模的湖倉場景,支持從十萬級到千萬級以上的任務調度,通過統一架構和不同部署模式適配不同客戶需求,實現穩定的調度和運維。
此外,CyberScheduler 還支持智能化的調度和監控,能夠基于歷史數據優化任務調度資源,提供任務產出時間和告警的智能化提示,從而提升調度效率和任務成功率。
統一數據集成引擎 CyberIntegration 是一個多功能的數據同步平臺。該平臺支持三種主要的數據同步引擎:DataX、Spark 和 Flink。這些引擎能夠處理包括批量同步、流式同步、全量同步、增量同步以及整庫同步在內的多種數據同步需求。
CyberIntegration 的系統架構允許其根據數據源的規模動態地決定所需的資源和同步能力,并支持水平擴展。此外,考慮到該平臺需要支持公有云、私有云以及混合云架構,它在數據集成過程中還要解決跨網段數據傳輸的技術挑戰。這種靈活性和強大的數據處理能力使得 CyberIntegration 成為滿足各種數據集成需求的有效解決方案。
數據流通中心 CyberMarket 專注于解決跨租戶的數據流通問題。CyberMarket 支持多種數據開放共享方式,包括數據 API、數據應用以及數據沙箱和算法沙箱,后者允許在不同租戶之間實現數據的可用不可見,特別適用于金融等行業場景。
數據沙箱通過物理隔離的存儲和多租戶之間的隔離,確保數據的安全性。在計算層面,SQL 沙箱和算法沙箱提供安全的數據分析和挖掘環境。數據在進入計算沙箱后,只能在沙箱內安全使用,計算結果需經過數據所有方審批后才能流出。沙箱使用完畢后,還會進行相關的回收和安全保障機制。
CyberData 和 CyberAI 之間的協同也是關鍵,例如,CyberAI 平臺中訓練得到的模型會發布到 CyberData 平臺,以便進行數據開發和模型訓練任務的工作流編排與調度。這種能力使得整個平臺能夠在數據流通場景下提供全面的支持。
四、金融信創數據平臺落地路徑
第四部分將探討金融信創數據平臺的典型落地路徑,分為六個階段:
- 統一納管平臺構建:首先構建一個統一的納管平臺,以統一用戶使用體驗,確保在信創化切換過程中實現平滑管理和遷移。
- 業務場景選擇與試點規劃:根據客戶實際情況,選擇合適的業務場景進行系統化試點,并規劃信創化集群。
- 信創湖倉集群資源規劃:設計并規劃信創湖倉集群,包括計算、存儲、網絡等資源,以滿足業務需求。
- 數據遷移與驗證:在新的信創集群部署完成后,進行新老集群的數據遷移,并進行數據比對和驗證。
- 壓測與優化:根據數據量級和業務要求,對信創集群進行壓力測試和優化。
- 逐步切換與驗證:在確保新集群符合性能和穩定性要求后,進行新老集群的并行運行,最終完成集群切換。
這條路徑確保了金融信創數據平臺的高效實施和平穩過渡,滿足客戶的業務需求。
在金融信創數據平臺的實施中,上圖中大數據集群統一納管平臺的功能技術架構是關鍵。其中大數據集群的統一納管平臺包括新老兩個集群,它們在資源調度和組件使用方面有所不同。中間層負責數據遷移,而統一納管層通過不同的驅動包實現對底層不同類型的大數據集群的驅動對接和管理。最上層為應用層,本文不對此展開詳細討論。這一架構可以確保金融信創數據平臺的高效推進,在不影響客戶業務穩健的情況下,實現金融信創數據平臺穩扎穩打的替代。
五、金融信創數據平臺實踐案例
在金融信創領域,數新網絡在云數據智能平臺的實施中取得了顯著成效。本文第五部分將通過兩個案例展示數新網絡的實踐成果。
第一個案例涉及某股份銀行,該銀行原先使用的是 Cloudera 的 CDH 產品,面臨高昂的訂閱成本和不滿足信創化要求的問題。數新網絡提供的云原生大數據管理平臺 CyberEngine 產品,成功幫助銀行將其多個數據集群升級至信創化的湖倉架構。此舉不僅提升了平臺的自主可控性,還優化了組件版本升級和計算資源效率,為客戶帶來了全面的平臺改進和價值提升。
第二個案例為某省金融綜合服務平臺的建設與運營。數新網絡的云數據智能平臺利用大數據和云計算技術,實現了多個政府部門和銀行間數據的統一融合分析,解決了金融領域的數據使用問題。數新網絡提供了數據平臺 CyberData 和智能平臺 CyberAI,幫助構建金融主題庫和金融數倉,涵蓋從數據開發、治理到 AI 任務開發的全流程。此外,為了確保數據的合法合規共享,數新網絡還提供了數據沙箱和算法沙箱能力。最終,在業務層面,數新網絡輸出了適用于金融領域的數據應用,為金融綜合服務平臺提供了全面的數據智能解決方案。