我們需要怎樣的湖倉一體架構?

qing_yun發表於2022-04-28

近兩年,湖倉一體(Lakehouse)架構成為資料技術融合的典型,被視作新的資料正規化,自2020年被提出,受到包括雲廠商在內的各方追捧。日前谷歌雲釋出了Big Lake邁進湖倉一體的大門,而在星環科技春季釋出周,湖倉一體也成為融合資料雲時代的重要構成,受到關注。

有了資料倉儲,資料湖,為什麼還要湖倉一體?湖倉一體如何釋放資料要素價值?

為什麼需要湖倉一體?

講湖倉一體前先講一下資料倉儲和資料湖,在1991年出版的“Building the Data Warehouse”,資料倉儲之父比爾·恩門首次提出資料倉儲的概念。資料倉儲面向主題,可以儲存結構化資料為特定的商業智慧和分析報告服務。大資料時代,非結構化、半結構化資料越來越多,有資料表明非結構化資料佔企業資料的80%以上,並以每年55%和65%的速度在增長,比如視訊、圖片、聲音,從中可以獲得比結構化資料更有價值的洞察,不過資料倉儲模型中的結構化和有序的資訊儲存方式並不能支援,這導致資料湖(Data Lake)架構出現。

2010年資料湖概念應運而生,資料湖是一個以原始格式儲存資料的儲存庫或系統,可以儲存結構化、半結構化、非結構化資料,是一個靈活的架構。

資料湖架構有很多優點,但是也有弊端,有專家指出,如果資料湖沒有被治理好(缺乏後設資料、定義資料來源、制定資料訪問策略和安全策略,並移動資料、編制資料目錄),則會變成資料沼澤。去年比爾·恩門在一次與Databricks創始人的線上連線中指出,大多數資料湖專案失敗了,他認為資料湖的問題在於架構。

在很長一段時間內,資料湖架構中所缺失的,企業都是採用“資料湖+資料倉儲”混合架構來彌補。

在日前星環科技春季釋出周,星環科技公共事業部系統架構負責人徐流明指出,2010年後,隨著大資料技術的興起,資料應用場景更加多元化,出現實時計算、全文檢索、機器學習,以及其他資料科學類分析需求,資料湖概念也隨之而來。在這個階段,大家的關注點更多在於如何用不同的技術棧支撐不同的資料分析場景,很多企業採用“資料湖+資料倉儲”的混合架構處理結構化和非結構化等問題,但是對資料平臺架構的合理性、可維護性、易用性沒有太多關注,導致很多企業建設的資料平臺架構非常複雜,為後期的平臺迭代和運維等造成了很大問題。

徐流明介紹,“湖+倉”混合架構中,資料湖和資料倉儲是兩套獨立的技術體系混合部署在一個資料平臺上,資料湖是基於Hadoop技術來實現,主要用於支撐多元異構的資料儲存,去執行批處理、流處理等工作負載。資料倉儲主要是基於MPP或者關係型資料庫來實現,主要支撐結構化資料在OLAP場景下的BI分析和查詢需求,由於湖和倉之間是互相獨立的,需要通過ETL實現資料交換。這種架構可以在一定程度上解決企業多場景的資料分析需求,但也有一些明顯的弊端。

一是混合部署架構較為複雜,導致架構設計和專案實施交付成本較高,且後期平臺運維難度較大;二是資料冗餘非常明顯,Hadoop和MPP屬於分散式系統,為了保障資料的高可靠性一般通過冗餘備份的方式實現,本身兩種技術都已經做了資料冗餘備份,但是採用混合架構無法避免有部分資料既存在Hadoop平臺,又存在MPP平臺,進一步增加了資料冗餘比例,增加儲存成本;三是資料鏈路過長,通常資料處理要先入湖,進行批處理後再入倉,由湖入倉需要ETL載入,影響查詢時效性;四是容易產生資料一致性問題,無論由湖入倉,還是由倉入湖,混合架構下實質都是在兩種資料平臺間進行資料遷移,遷移過程難免會出現資料一致性問題,增加額外的資料校驗成本。

“湖+倉的混合架構是在資料平臺架構演進過程中技術向業務妥協的一個產物,它並不是真正意義上的湖倉一體平臺。”徐流明強調,“從技術角度看,湖倉一體是以多模型資料平臺技術為依託,打破傳統Hadoop+MPP混合部署模式,實現湖倉技術架構統一。通過一站式的多模型資料平臺支撐資料湖、資料倉儲、資料科學等多樣化的資料分析場景。未來,湖倉一體作為新一代大資料技術架構,將逐漸取代單一資料湖和資料倉儲架構。”

需要什麼樣的湖倉一體架構?

2020年Databricks提出Lakehouse(湖倉一體)架構,背後的基本思想是將資料倉儲和資料湖模型的優勢結合,取長補短。在Databricks的描述中,Lakehouse是資料湖和資料倉儲的混合體。一方面,它提供了處理結構化程度較低的資料型別的靈活性,如文字和影像檔案,這在資料科學和機器學習專案中是常用的。但它也借用了資料倉儲的學科,特別是在確保資料質量和確保其脈絡被跟蹤和管理方面,資料倉儲有獨特的優勢。

湖倉一體架構目前還是較新的概念,除Databricks外,Snowflake以及一些雲大廠進行了相關佈局。作為大資料基礎軟體供應商,星環科技對湖倉一體佈局較早,在日前的春季新品釋出周,星環科技釋出了湖倉一體2.0解決方案。

星環科技認為湖倉一體架構是未來的趨勢,該公司指出,湖倉一體的架構是以多模型資料平臺技術為依託,打破了傳統Hadoop加MPP的混合部署模式,實現湖倉技術架構統一,如此才屬於真正的湖倉一體平臺。

徐流明介紹,星環科技湖倉一體解決方案總體分為五層架構,從下至上依次為信創自主可控硬體生態層、基於雲原生技術的容器化資源管理層、統一分散式儲存層、統一分散式計算引擎和統一資料操作層。此外,貫穿五層架構還提供了全生命週期的資料管理功能,可以實現多模態資料以及後設資料統一管控,同時還支援統一多租戶管理,實現資源層、資料層、以及應用層的完整隔離。

據悉,在技術架構層面,星環科技湖倉一體架構與Databricks的Delta Lake和谷歌雲的Big Lake有相似之處,也有差異。徐流明介紹,相同點主要體現在儲存層都強調通過一套統一的儲存系統來實現多源異構資料的統一儲存問題,為上層計算引擎提供統一呼叫介面,同時在存算分離、統一後設資料管理等方面也具有一定的相通性。

差異性主要體現在計算引擎層和介面層,Big Lake與Delta Lake的計算引擎層和介面層是獨立的。以Databricks為例,星環科技湖倉一體方案通過一套統一的計算引擎來解決不同模態資料在不同場景下的融合分析問題,Databricks湖倉一體架構的計算引擎主要依賴Apache Spark體系,對分析場景比如時空分析、時序分析等的支撐可能有侷限性;在介面層星環科技湖倉一體方案對外提供統一查詢介面(標準化SQL語法),簡單易用,Databricks湖倉一體方案在介面層針對不同的分析場景,還必須使用大量API介面。

在湖倉一體架構中,有不少專家強調開放性的特性,使用的儲存格式(如Parquet)是開放式和標準化的,並提供API以便各類工具和引擎(包括機器學習和Python / R庫)可以直接有效地訪問資料。開放性也一度成為Snowflake和Databricks爭論的焦點,星環科技對此有自己的理解。

“介面層的開放性比儲存層的開放性更加重要。我們更傾向於讓資料分析人員把星環湖倉一體平臺當成一個資料庫系統來使用,只通過簡單的SQL查詢介面就可以滿足多樣化、高效能的分析需求,而不是讓資料分析人員直接操作底層的儲存系統。”徐流明介紹,在介面開放性方面,星環科技湖倉一體方案可以支援標準SQL語法,同時也可以相容Oracle/DB2/TD等儲存過程和資料庫方言;在儲存開放性方面,星環研發了統一的分散式資料管理系統,為不同儲存引擎提供公共的儲存管理服務,保障資料一致性,實現資料統一管理運維和高可用。目前分散式資料管理系統接入了9款儲存引擎,支援10種資料模型的儲存。同時可插拔特性,可以根據需要接入其他儲存引擎,方便後續業務的靈活擴充套件。儲存格式支援主流的資料格式,如Parquet、ORC等,同時還針對高IOPS的儲存介質專門設計了更高效的儲存格式Holodesk,可以大大提高高併發集市場景的查詢效能,對外也可以提供標準化的介面。

在目前國產化與信創浪潮下,星環科技湖倉一體解決方案突出了自己自主可控能力,徐流明指出,對內,星環一直在堅持自主研發與技術創新,不斷的通過關鍵技術突破解決客戶最難、最迫切的業務難題,把困難留給自己,把方便帶給客戶。上圖中綠色的部分是已經實現了自主可控的元件,佔整個技術元件的90%以上;對外,星環也在積極和信創上下游合作伙伴做相容適配,擁抱信創生態,同時也在積極參與國家信創大資料標準規範的制定工作。目前,星環科技湖倉一體解決方案已經在金融、政府、交通、郵政、醫療、能源等行業以及部分大型國有企業落地應用,典型客戶包括中化集團、中國郵政集團、廣州農商行等。

有分析人士指出,圍繞著湖倉一體架構(Lakehouse)的概念有很多炒作是有原因的。從本質上講,它是一種新的資料管理正規化,結合了資料倉儲和資料湖的功能,改變了資料團隊共同運作的方式,這種新的架構代表了處理資料的方式的重大根本轉變。在多源異構的複雜資料世界中釋放資料要素價值,湖倉一體架構被寄予厚望。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69925873/viewspace-2889130/,如需轉載,請註明出處,否則將追究法律責任。

相關文章