資料湖是下一代資料倉儲?

danny_2018發表於2022-12-26

資料湖是資料倉儲的補充,是為了解決資料倉儲漫長的開發週期,高昂的開發、維護成本,細節資料丟失等問題出現的。

資料湖大多是相對於傳統基於RDBMS的資料倉儲,而從2011年前後,也就是資料湖概念出現的時候,很多資料倉儲逐漸遷移到以Hadoop為基礎的技術棧上,而且除了結構化資料,半結構化、非結構資料也逐漸的儲存到資料倉儲中,並提供此類服務。這樣的資料倉儲,已經具有了資料湖的部分功能。

資料湖正在成為一種越來越流行的大資料解決方案,而資料湖這個詞已經被大資料供應商賦予了太多不同的含義,如果有什麼工作是傳統資料倉儲做不了的,那就把它塞進資料湖,以至於資料湖已經變成了一個定義模糊的概念。

資料湖是不是就是傳說中的銀彈,可以解決所有資料倉儲不能解決的問題呢?

01

什麼是資料湖?

維基百科對資料湖的定義是,資料湖是一種在系統或儲存庫中以自然格式儲存資料的方法,它有助於以各種模式和結構形式配置資料,通常是物件塊或檔案。資料湖的主要思想是對企業中的所有資料進行統一儲存,從原始資料(源系統資料的精確副本)轉換為用於報告、視覺化、分析和機器學習等各種任務的目標資料。資料湖中的資料包括結構化資料(關聯式資料庫資料),半結構化資料(CSV、XML、JSON等),非結構化資料(電子郵件,文件,PDF)和二進位制資料(影像、音訊、影片),從而形成一個容納所有形式資料的集中式資料儲存。

可見,企業使用資料湖架構,核心出發點就是把不同結構的資料統一儲存,使不同資料有一致的儲存方式,在使用時方便連線,真正解決資料整合問題。因此,資料湖架構最主要的特點,一是支援異構資料聚合,二是無需預定義資料模型即可進行資料分析。

資料湖從本質上來講,是一種企業資料架構方法,物理實現上則是一個資料儲存平臺,用來集中化儲存企業內海量的、多來源,多種類的資料,並支援對資料進行快速加工和分析。

從實現方式來看,目前Hadoop是最常用的部署資料湖的技術,但並不意味著資料湖就是指Hadoop叢集。為了應對不同業務需求的特點,MPP資料庫+Hadoop叢集+傳統資料倉儲這種“混搭”架構的資料湖也越來越多出現在企業資訊化建設規劃中。

Data Lake是一個儲存庫,可以儲存大量結構化,半結構化和非結構化資料。它是以原生格式儲存每種型別資料的地方,對帳戶大小或檔案沒有固定限制。它提供高資料量以提高分析效能和本機整合。

Data Lake就像一個大型容器,與真正的湖泊和河流非常相似。就像在湖中你有多個支流進來一樣,資料湖有結構化資料,非結構化資料,機器到機器,實時流動的日誌。

Data Lake使資料民主化,是一種經濟有效的方式來儲存組織的所有資料以供以後處理。研究分析師可以專注於在資料中找到意義模式而不是資料本身。

與資料儲存在檔案和資料夾中的分層資料倉儲不同,Data湖具有扁平的架構。Data Lake中的每個資料元素都被賦予唯一識別符號,並標記有一組後設資料資訊。

02

資料湖與傳統資料倉儲的區別?

資料倉儲是一個最佳化的資料庫,用於分析來自事務系統和業務線應用程式的關係資料。事先定義資料結構和 Schema 以最佳化快速 SQL 查詢,其中結果通常用於操作報告和分析。資料經過了清理、豐富和轉換,因此可以充當使用者可信任的“單一資訊源”。

資料湖有所不同,因為它儲存來自業務線應用程式的關係資料,以及來自移動應用程式、IoT 裝置和社交媒體的非關係資料。捕獲資料時,未定義資料結構或 Schema。這意味著您可以儲存所有資料,而不需要精心設計也無需知道將來您可能需要哪些問題的答案。您可以對資料使用不同型別的分析(如 SQL 查詢、大資料分析、全文搜尋、實時分析和機器學習)來獲得見解。

資料湖與資料倉儲這兩個概念很容易被混淆,它們的區別主要有三個方面:

一是儲存資料型別不同。資料倉儲中儲存的主要是結構化資料,對於載入到資料倉儲中的資料,首先需要定義資料儲存模型。而資料湖以其原生格式儲存大量原始資料,包括結構化的、半結構化的和非結構化的資料,並且在使用資料之前,不對資料結構進行定義。

二是資料處理模式不同。資料倉儲是高度結構化的架構,資料在清洗轉換之後才會載入到資料倉儲,使用者獲得的是處理後資料。而在資料湖中,資料直接載入到資料湖中,然後根據分析的需要再處理資料。

三是服務物件不同。從使用者差異上來看,資料倉儲適合企業中大資料產品開發人員和業務使用者。而資料湖最適合資料分析師或資料科學家,他們直接基於資料沙箱做自由探索和分析,這些人要求有技術背景,會寫程式碼或熟悉SQL。

透過以上對比,可見資料湖不是簡單的資料倉儲升級版,兩者有各自的存在必要。與此同時,還有一種資料沼澤的提法,這是指一種設計不良、未充分歸檔或未有效維護的資料湖,使用者無法有效地分析和利用其中儲存的資料。

更為詳細的區別如下表所示:

03

為何選擇Data Lake以及資料湖的概念和架構

構建資料湖的主要目標是向資料科學家提供未經定義的資料檢視。

使用Data Lake的原因主要有:

隨著儲存引擎的出現,Hadoop讓儲存不同的資訊變得更加容易。需要使用Data Lake將資料建模到企業範圍的模式中。

隨著資料量,資料質量和後設資料的增加,分析質量也會提高。

Data Lake提供業務敏捷性

機器學習和人工智慧可用於進行有利可圖的預測。

它為實施組織提供了競爭優勢。

沒有資料孤島結構。Data Lake提供360度的客戶檢視,使分析更加健壯。

1、資料湖架構

下圖顯示了Business Data Lake的體系結構。較低階別表示大部分處於靜止狀態的資料,而較高階別表示實時交易資料。此資料流經系統,沒有延遲或延遲很小。以下是Data Lake Architecture的重要層次:

1 攝取層 :左側的層描述了資料來源。資料可以批次或實時載入到資料湖中。

2 洞察層:右側的層代表研究方面,使用系統的見解。SQL,NoSQL查詢甚至excel都可用於資料分析。

3 HDFS是結構化和非結構化資料的經濟高效的解決方案。它是系統中靜止的所有資料的著陸區。

4 蒸餾層從儲存輪胎中獲取資料並將其轉換為結構化資料以便於分析。

5 處理層執行分析演算法和使用者查詢,具有不同的實時,互動,批處理以生成結構化資料,以便於分析。

6 統一操作層管理系統管理和監視。它包括審計和熟練管理,資料管理,工作流程管理。

2、資料湖的關鍵概念

以下是Data Lake的核心概念,人們需要了解這些概念才能完全理解Data Lake的架構:

資料攝取

資料提取允許聯結器從不同的資料來源獲取資料並載入到Data湖中。

資料提取支援:所有型別的結構化,半結構化和非結構化資料。批次,實時,一次性負載等多次攝取;許多型別的資料來源,如資料庫,Web伺服器,電子郵件,物聯網和FTP。

資料儲存

資料儲存應該是可擴充套件的,提供經濟高效的儲存並允許快速訪問資料探索。它應該支援各種資料格式。

資料治理

資料治理是管理組織中使用的資料的可用性,可用性,安全性和完整性的過程。

安全

需要在Data Lake的每個層中實現安全性。它始於儲存,發掘和消耗。基本需求是停止未授權使用者的訪問。它應該支援不同的工具來訪問資料,易於導航GUI和儀表板。

身份驗證,會計,授權和資料保護是資料湖安全的一些重要特性。

資料質量

資料質量是Data Lake架構的重要組成部分。資料用於確定商業價值。從劣質資料中提取洞察力將導致質量差的洞察力。

資料發現

資料發現是您開始準備資料或分析之前的另一個重要階段。在這個階段,標記技術用於表達資料理解,透過組織和解釋資料湖中攝取的資料。

資料審計

兩個主要的資料審計任務是跟蹤對關鍵資料集的更改:跟蹤重要資料集元素的更改;捕獲如何/何時/以及更改這些元素的人員。

資料審計有助於評估風險和合規性。

資料沿襲

該元件處理資料的來源。它主要涉及隨著時間推移它的推動者以及它發生了什麼。它簡化了從始發地到目的地的資料分析過程中的錯誤更正。

資料探索

這是資料分析的開始階段。在開始資料探索之前,確定正確的資料集是至關重要的。

所有給定的元件需要協同工作,在Data Lake構建中發揮重要作用,輕鬆演化和探索環境。

Data Lake的成熟階段

資料湖成熟階段的定義不同於教科書。雖然癥結仍然是一樣的。成熟後,階段定義是從外行的角度出發的。

第一階段:大規模處理和攝取資料

資料成熟度的第一階段涉及提高轉換和分析資料的能力。在這裡,企業所有者需要根據他們的技能組找到工具,以獲取更多資料並構建分析應用程式。

第二階段:建立分析能力

這是第二階段,涉及提高轉換和分析資料的能力。

在這個階段,公司使用最適合他們技能的工具。他們開始獲取更多資料和構建應用程式。在這裡,企業資料倉儲和資料湖的功能一起使用。

第三階段:EDW和Data Lake協作

這一步涉及將資料和分析交給儘可能多的人。在此階段,資料湖和企業資料倉儲開始在聯合中工作。兩者都在分析中發揮作用。

第四階段:資料湖的企業能力

在資料湖的成熟階段,企業功能被新增到Data Lake中。採用資訊治理,資訊生命週期管理功能和後設資料管理。但是,很少有組織可以達到這種成熟水平,但這種情況將在未來增加。

04

典型的資料湖解決方案

資料湖的概念誕生之後,一些大資料廠商也提出了自己對資料湖的理解,並依託自身核心產品或開源軟體,釋出了側重於不同應用場景下的資料湖解決方案。

華為資料湖探索服務(DLI)解決方案基於Apache Spark生態,提供完全託管的大資料處理分析服務。使用者使用標準SQL或Spark程式就能完成異構資料來源的聯邦分析,支援多種資料格式(CSV、JSON、Parquet、ORC、CarbonData等)和雲上多種資料來源(OBS、DWS、CloudTable、RDS等)。在對AI能力的支援上,實現了將對圖片、影片、語言的處理分析能力嵌入在SQL裡,儲存和計算資源自動實現彈性擴容。目前的應用場景主要包括海量日誌分析、異構資料來源聯邦分析和大資料ETL處理。

AWS資料湖方案主要是基於AWS雲服務,該方案提出在 AWS 雲上部署高可用的資料湖架構,並提供使用者友好的資料集搜尋和請求控制檯,AWS資料湖方案主要藉助了Amazon S3、AWS Glue等AWS 服務來提供諸如資料提交、接收處理、資料集管理、資料轉換和分析、構建和部署機器學習工具、搜尋、釋出及視覺化等功能。建立以上基礎後,再由使用者選擇其它大資料工具來擴充資料湖。

Dell EMC 資料湖方案則是基於其儲存技術,它將資料湖定義為一個現代化的資料倉儲,是可整合資料的橫向擴充套件儲存方案。該方案包括了EMC資訊基礎設施、Pivotal和VMware的儲存及大資料分析技術,來實現資料的儲存、分析、應用三項核心需求,支援不同的資料儲存技術(Data Domain、Isilon、ECS)和資料移動技術(DistCp、snapshot、NDMP)。據稱已成功應用於醫療服務領域,用來改進預測性護理工作以及發現資料趨勢。

但總體來言,業界提出資料湖解決方案的供應商並不多,大多數企業只是在做這方面的研究和探索,資料湖解決方案中提倡的自助分析、資料沙箱在實際中應用程度也並不高。

05

資料湖的未來

資料湖相對於以往的關係型資料庫、傳統式資料倉儲,更多體現的是一種資料儲存技術上的融合。資料湖的提出,改變了使用者使用資料的方式,同時,資料湖也整合了各種型別資料的分析和儲存,使用者不必為不同的資料構建不同資料儲存庫。

但是,現階段資料湖更多是作為資料倉儲的補充,它的使用者一般只限於專業資料科學家或分析師。資料湖概念和技術還在不斷演化,不同的解決方案供應商也在新增新的特性和功能,包括架構標準化和互操作性、資料治理要求、資料安全性等。

未來,資料湖可能會進一步發展,作為一種雲服務隨時按需滿足對不同資料的分析、處理和儲存需求,資料湖的擴充套件性,可以為使用者提供更多的實時分析,基於企業大資料的資料湖正在向支援更多型別的實時智慧化服務發展, 將會為企業現有的資料驅動型決策制定模式帶來極大改變。

06

結束語

從理論上講,資料湖是一種儲存大量複雜格式資料,避免企業資料孤島化的資料架構方案,它一方面降低資料整合成本,另一方面為使用者提供更靈活的資料訪問支援。但同時,各類資料湖解決方案目前在技術實現上還不夠成熟,仍處在演化過程中,其訪問控制、資料安全、資料質量、後設資料管理等特性仍需要完善。

在大資料+AI時代裡,從資料倉儲到資料湖,不僅僅是資料儲存架構的變革,更是大資料思維方式的升級。隨著基於深度學習技術的AI應用需求廣泛出現,需要提供一個資料平臺,支援對原始資料的輕鬆訪問,開展演算法模型訓練和驗證,資料湖解決方案將可能成為解決AI應用需求最好的選擇。

來自 “ 商業智慧研究 ”, 原文作者:資料學堂;原文連結:https://mp.weixin.qq.com/s/vYxoUFO9PSiK1ygC6QNadg,如有侵權,請聯絡管理員刪除。

相關文章