華為雲FusionInsight湖倉一體解決方案的前世今生

摘要:華為雲發布新一代智慧數據湖華為雲FusionInsight時再次提到了湖倉一體理念,那我們就來看看湖倉一體的來世今生。

伴隨5G、大數據、AI、IoT的飛速發展,數據呈現大規模、多樣性的極速增長,為了應對多變的業務訴求,政企客戶對數據處理分析的實時性和融合性提出了更高的要求,「湖倉一體」的概念應運而生,它打破數據湖與數倉間的壁壘,使得割裂數據融合統一,減少數據分析中的搬遷,實現統一的數據管理。

早在2020年5月份的華為全球分析師大會上,華為雲CTO張宇昕提出了「湖倉一體」概念,在隨後的華為雲與計算城市峰會上,「湖倉一體」理念跟隨華為雲FusionInsight智慧數據湖在南京、深圳、西安、重慶等地均有呈現,在剛結束的HC2020上,張宇昕在發布新一代智慧數據湖華為雲FusionInsight時再次提到了湖倉一體理念。那我們就來看看湖倉一體的來世今生。

數據湖和數據倉庫的發展歷程和挑戰

早在1990年,比爾·恩門(Bill Inmon)提出了數據倉庫,主要是將組織內資訊系統聯機事務處理(OLTP)常年累積的大量資料,按數據倉庫特有的資料儲存架構進行聯機分析處理(OLAP)、數據挖掘(Data Mining)等分析,幫助決策者快速有效地從大量資料中分析出有價值的資訊,以利決策制定及快速響應外在環境變化,幫助構建商業智慧(BI)。

大約十年前,企業開始構建數據湖來應對大數據時代,它通常把所有的企業數據統一存儲,既包括源系統中的原始副本,也包括轉換後的數據,比如那些用於報表, 可視化, 數據分析和機器學習的數據。

縱觀數據湖與數據倉庫的技術發展,不難發現兩者有著各自的優劣,具體表現如下:

表1 湖倉對比, 各有千秋

企業在進行系統架構設計選型時,需要從具體的分析場景出發,單一的模式已經無法滿足企業發展的業務訴求,集中表現在以下兩個痛點:

  • 數據湖主要以離線批量計算為主,因為不支援數據倉庫的數據管理能力,難以提高數據品質;數據入湖時效差不支援實時更新,數據無法強一致性;主題建模不友好,無法直接歷史拉鏈建模;同時交互分析通常將數據搬遷到數據倉庫平台,造成分析鏈路長,數據冗餘存儲;批&流等場景融合不夠,無法滿足企業的海量數據處理訴求。
  • 數據倉庫滿足不了非結構化數據的分析需求,性價比不高;同時倉&湖間難以互聯互通,數據協同效率較低,無法支援跨平台透明訪問,形成了事實上的數據孤島,找數困難;缺乏全局數據視圖,不同平台介面差異和不同開發管理工具,造成用戶開發使用複雜,數據分別管理維護代價高體驗差。

數據湖和數據倉庫正在從兩條技術演進路線走向融合

綜上,數據湖和數據倉庫在企業數據分析場景分別承擔一湖一倉的重要角色,形成了完整的數據分析生態系統,上述企業場景面臨的2個關鍵痛點也在驅動數據湖和數據倉庫在技術演進上走向融合:

第一個融合方向是基於Hadoop體系的數據湖向數據倉庫能力擴展,湖中建倉,從DataLake進化到LakeHouse。LakeHouse結合了數據湖和數據倉庫特點,直接在用於數據湖的低成本存儲上實現與數據倉庫中類似的數據結構和數據管理功能。目前業界已經湧現了一些LakeHouse產品,如NexFlix開源Iceberg、Uber開源Hudi、Databricks的 DeltaLake。

圖2從DataLake進化到LakeHouse,數據湖擴展數倉能力

以目前生態發展迅速的Apache Hudi為例:統一數據存儲,分散式存儲不同應用所需的各種類型數據;數倉模式執行和治理,實現事務&更新機制,保證數據完整性和一致性,具有健壯的治理&審計機制;支援各種分析引擎,統一數據存儲通過開放和標準化的存儲格式(如Parquet),提供API以便各類工具和引擎(包括機器學習和Python / R庫)直接有效地訪問數據。

雖然LakeHouse並不能完全替代數據倉庫,但通過增強性能,支援實時入湖、建模、交互分析等場景,將在企業分析環境中發揮更大作用。

第二個融合方向是數據湖和數據倉庫協同起來向湖倉一體的融合分析架構發展,隨著企業數據量快速增長,不僅是結構化數據,也有非結構化數據,同時提出了對搜索/機器學習更多的能力要求,使得原來數倉技術不能夠有效的處理複雜場景,為此需擴展原有系統,引入Hadoop大數據平台實現新類型數據、新業務場景的支援。在這個背景下由Gartner在2011年提出邏輯數據倉庫的概念,預測企業數據分析傾向於轉向一種更加邏輯化的架構,利用分散式處理、數據虛擬化以及元數據管理等技術,實現邏輯統一物理分開的協同體系。

圖2 邏輯數倉的高階架構

湖倉一體可以認為是邏輯數據倉庫架構理念下針對Hadoop數據湖和MPPDB數據倉庫的融合架構的最好詮釋,數據對用戶將完全實現虛擬化,以邏輯統一的數據分析系統為企業提供數據分析服務:

用戶使用層面提供統一元數據管理和數據視圖,實現全局數據可見可查,支援標準統一訪問介面簡化用戶開發,提供統一開發和治理的工具體系。

平台層面Hadoop與MPPDB具備數據共享和跨庫分析能力,支援互聯互通、計算下推、協同計算,實現數據多平台之間透明流動。

華為雲FusionInsight湖倉一體解決方案參考架構

華為雲FusionInsight智慧數據湖涵蓋了分散式存儲、大數據、數據倉庫、數據治理等,融合了上述兩個技術演進方向,為企業用戶提供雲原生湖倉一體解決方案,整體的參考架構如下:

圖4 華為雲FusionInsight湖倉一體解決方案參考架構

下面一起來看看:

數據存儲層:通過OBS統一管理湖&倉的存儲底座,將存儲在EC(Erasure Code糾錯碼)、可靠性方面的優勢融入進了大數據生態:

  • 雲原生架構領先:基於雲原生架構的OBS存儲,具有高頻寬,大並發,分散式元數據等特徵,因此相同成本的華為存算分離的湖倉一體化集群,數據讀寫性能領先業界30%。
  • 存儲計算分離有效降低TCO:支援大比例EC, 副本數從3最低可降低至1.09,TCO下降20%+。
  • 統一元數據管理實現湖倉共享存儲資源池:通過獨立的Data Lake Catalog提供統一元數據管理,兼容Hive Metastore介面,可以無縫對接各類大數據組件。實現針對同一份元數據定義支援各類場景、對象、文件、大數據等不同協議間的數據共享,讓數據倉庫、數據湖、圖引擎、AI等多種計算引擎共享統一的數據存儲池。此方案不僅消除了孤立系統中的數據副本,還使得客戶可以按照業務按需使用計算存儲資源,不僅降低了CAPEX,還簡化了運維,從而達成最佳TCO。同時,Data Lake Catalog開放介面,支援和第三方的計算引擎層、數據治理層對接。

計算引擎層:把事務能力引入數據湖,通過HetuEngine標準SQL實現跨域多源統一訪問,湖&倉數據互通協同計算,數據免搬遷:

  • CarbonData & Hudi數據實時入湖,實現數據湖事務能力:企業內部許多數據管道通常會並發讀寫數據,我們通過CarbonData& Hudi數據存儲引擎實現數據實時、增量更新,數據T+0實時入湖,大幅縮短傳統T+1、T+2時延;引入的增量處理框架,實現了數據湖事務能力,支援入湖過程中的Update/Delete等。
  • HetuEngine支援跨源跨域統一SQL訪問,簡單易用:用戶層基於統一的標準SQL介面,對接多個數據源(HDFS, HBase, DWS等),提供秒級互動式訪問,滿足各種統計分析、多表Join關聯等,讓分析建模人員數據分析更容易,降低訪問門檻。
  • HetuEngine & DWS-Express打破數據牆,數據免搬遷創新更敏捷:支援數據湖與數據倉庫間的數據互聯互通、跨平台協同計算,數據免搬遷。HetuEngine在湖內基於統一數據目錄,實現高並發,高性能的互動式查詢,基於一份數據進行批、流、互動式融合分析,貼源加工、整合關聯、主題加工等都在湖內,數據不出湖,分析鏈路短,加速業務創新;用戶可使用DWS-Express提供由成百上千節點組成的加速集群,對存儲在OBS上的海量數據進行在線分析,相比本地託管集群,效率提升數百倍。
  • 自研Superior調度器支援單集群2萬+節點規模,業界最佳:在一個集群內,通過華為自研的Superior調度器支援各種工作負載統一調度,包括數據科學、機器學習以及SQL和分析,調度速率達35萬Container/s,資源利用率達90%+,大幅降低企業投入成本。
  • 數據冷熱分級存儲實現更高效的全生命周期管理:DWS具備與OBS的雙向互通的能力,既能直接讀取OBS上的海量歷史數據,也能夠直接寫入數據到OBS。通過這個特性,我們可以對企業中的海量數據進行更加高效的全生命周期管理,分析中經常使用到的熱/溫數據存放在DWS中,較少使用的冷數據存放到OBS中,兼顧企業對分析性能和存儲經濟性的訴求。
  • 無縫銜接AI挖掘更多數據價值:深度優化一站式開發平台ModelArts&分散式圖計算引擎GES提高開發效率。提供基於數據湖的AI訓練推理能力,減少數據搬遷次數,基於100+機器學習運算元和NLP演算法,實現海量數據快速價值挖掘,滿足場景預測、自然語言處理及企業知識圖譜等應用; 讓GES更快捷地為金融等場景提供關係網路分析等服務。

運營管理層:通過DAYU實現了湖&倉統一的數據集成、開發、目錄、治理、開放服務等的運營管理:

  • 數據集成:實現多源異構數據高效入湖,支援批/流/實時數據多種方式接入。其中,批量數據遷移基於分散式計算框架,利用並行化處理技術,支援用戶穩定高效地對海量數據進行移動,實現不停服數據遷移,快速構建所需的數據架構;流和實時數據接入每小時可從數十萬種數據源(例如日誌和定位追蹤事件、網站點擊流、社交媒體源等)中連續捕獲、傳送和存儲數TB數據。
  • 數據開發:提供一站式敏捷數據開發平台,提供可視化的圖形開發介面、豐富的數據開發類型(腳本開發和作業開發)、全託管的作業調度和運維監控能力,內置行業數據處理pipeline,一鍵式開發,全流程可視化,支援多人在線協同開發,支援管理多種大數據云服務,極大地降低了用戶使用大數據的門檻,幫助用戶快速構建數據湖數據處理中心。
  • 數據治理:為企業提供數據體系標準和數據規範定義的方法論,統一數據語言和數據建模;為普通業務人員提供高效、準確的數據搜索工具,高效找到數據;提供技術元數據與業務元數據的關聯,業務人員快速讀懂數據;為數據提供有效的品質管控和評估手段,數據可信品質高。
  • 數據開放:為數據湖搭建統一的數據服務匯流排,幫助企業統一管理對內對外的API服務,支撐業務主題/畫像/指標的訪問、查詢和檢索,提升數據消費體驗和效率;支援100+開放API,擁有10+行業模板,使能行業ISV快速集成,助力客戶數據標準資產沉澱。

綜上所述,正是在三層架構都打通了湖倉的技術壁壘,我們才看到了真正的湖倉一體:

數據存儲層基於雲原生領先架構,存算分離有效降低TCO,統一元數據管理實現湖倉共享存儲資源池,針對同一份元數據定義支援各種場景,提供API方便各類工具和引擎(包括機器學習、Python、R等)直接有效地訪問數據,這是實現湖倉一體的一個關鍵點;

計算引擎層為數據湖增加了事務能力提升了數據品質;利用HetuEngine通過標準SQL訪問跨域多源數據,實現湖&倉數據關聯分析協同計算,簡單易用; 打破數據牆,在湖內基於統一數據目錄,可基於數據湖實現融合分析&AI訓練推理,減少數據搬遷,實現海量數據快速價值挖掘。

運營管理層則提供統一的數據開發和治理環境,具備安全管理功能,支援多引擎任務統一開發和編排,數據統一建模和品質監測,實現湖倉一致的開發治理體驗。

未來展望

華為雲FusionInsight智慧數據湖基於客戶需求和技術演進趨勢持續創新,為企業客戶提供湖倉一體解決方案,致力於打造業界最佳的數據底座,讓企業業務的創新更敏捷,業務洞察更準確,加速釋放數據價值,和數據使能協同更好地服務千行萬業!

 

點擊關注,第一時間了解華為雲新鮮技術~