- 產品
- 產品解決方案
- 行業解決方案
- 案例
- 數據資產入表
- 賦能中心
- 伙伴
- 關于
時間:2022-09-06來源:奇葩少女萌噠噠瀏覽數:224次
01 什么是數據湖?
維基百科對數據湖的定義是,數據湖是一種在系統或存儲庫中以自然格式存儲數據的方法,它有助于以各種模式和結構形式配置數據,通常是對象塊或文件。數據湖的主要思想是對企業中的所有數據進行統一存儲,從原始數據(源系統數據的精確副本)轉換為用于報告、可視化、分析和機器學習等各種任務的目標數據。數據湖中的數據包括結構化數據(關系數據庫數據),半結構化數據(CSV、XML、JSON等),非結構化數據(電子郵件,文檔,PDF)和二進制數據(圖像、音頻、視頻),從而形成一個容納所有形式數據的集中式數據存儲。
詳見:2萬字詳解數據湖:概念、特征、架構與案例
可見,企業使用數據湖架構,核心出發點就是把不同結構的數據統一存儲,使不同數據有一致的存儲方式,在使用時方便連接,真正解決數據集成問題。因此,數據湖架構最主要的特點,一是支持異構數據聚合,二是無需預定義數據模型即可進行數據分析。
數據湖從本質上來講,是一種企業數據架構方法,物理實現上則是一個數據存儲平臺,用來集中化存儲企業內海量的、多來源,多種類的數據,并支持對數據進行快速加工和分析。
從實現方式來看,目前Hadoop是最常用的部署數據湖的技術,但并不意味著數據湖就是指Hadoop集群。為了應對不同業務需求的特點,MPP數據庫+Hadoop集群+傳統數據倉庫這種“混搭”架構的數據湖也越來越多出現在企業信息化建設規劃中。

Data Lake是一個存儲庫,可以存儲大量結構化,半結構化和非結構化數據。它是以原生格式存儲每種類型數據的地方,對帳戶大小或文件沒有固定限制。它提供高數據量以提高分析性能和本機集成。
Data Lake就像一個大型容器,與真正的湖泊和河流非常相似。就像在湖中你有多個支流進來一樣,數據湖有結構化數據,非結構化數據,機器到機器,實時流動的日志。
Data Lake使數據民主化,是一種經濟有效的方式來存儲組織的所有數據以供以后處理。研究分析師可以專注于在數據中找到意義模式而不是數據本身。
與數據存儲在文件和文件夾中的分層數據倉庫不同,Data湖具有扁平的架構。Data Lake中的每個數據元素都被賦予唯一標識符,并標記有一組元數據信息。
02 數據湖與傳統數據倉庫的區別?
數據倉庫是一個優化的數據庫,用于分析來自事務系統和業務線應用程序的關系數據。事先定義數據結構和 Schema 以優化快速 SQL 查詢,其中結果通常用于操作報告和分析。數據經過了清理、豐富和轉換,因此可以充當用戶可信任的“單一信息源”。
數據湖有所不同,因為它存儲來自業務線應用程序的關系數據,以及來自移動應用程序、IoT 設備和社交媒體的非關系數據。捕獲數據時,未定義數據結構或 Schema。這意味著您可以存儲所有數據,而不需要精心設計也無需知道將來您可能需要哪些問題的答案。您可以對數據使用不同類型的分析(如 SQL 查詢、大數據分析、全文搜索、實時分析和機器學習)來獲得見解。
數據湖與數據倉庫這兩個概念很容易被混淆,它們的區別主要有三個方面:
一是存儲數據類型不同。數據倉庫中存儲的主要是結構化數據,對于加載到數據倉庫中的數據,首先需要定義數據存儲模型。而數據湖以其原生格式保存大量原始數據,包括結構化的、半結構化的和非結構化的數據,并且在使用數據之前,不對數據結構進行定義。
二是數據處理模式不同。數據倉庫是高度結構化的架構,數據在清洗轉換之后才會加載到數據倉庫,用戶獲得的是處理后數據。而在數據湖中,數據直接加載到數據湖中,然后根據分析的需要再處理數據。
三是服務對象不同。從用戶差異上來看,數據倉庫適合企業中大數據產品開發人員和業務用戶。而數據湖最適合數據分析師或數據科學家,他們直接基于數據沙箱做自由探索和分析,這些人要求有技術背景,會寫代碼或熟悉SQL。
通過以上對比,可見數據湖不是簡單的數據倉庫升級版,兩者有各自的存在必要。與此同時,還有一種數據沼澤的提法,這是指一種設計不良、未充分歸檔或未有效維護的數據湖,用戶無法有效地分析和利用其中存儲的數據。
更為詳細的區別如下表所示:

詳見:3萬字詳解數據中臺、數據倉庫、數據庫、和數據湖(下)
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的架構:


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應用需求最好的選擇。上一篇:企業數字化的窗口期...