大數據“復活”記
709
2025-04-01
一、數據湖概念的提出
數據湖這一概念,最早是在2011年由CITO Research網站的CTO和作家Dan Woods首次提出。其比喻是:如果我們把數據比作大自然的水,那么各個江川河流的水未經加工,源源不斷地匯聚到數據湖中。業界便對數據湖一直有著廣泛而不同的理解和定義。“數據湖是一個集中化存儲海量的、多個來源,多種類型數據,并可以對數據進行快速加工,分析的平臺,本質上是一套先進的企業數據架構。”
"數據湖"的核心價值在于為企業提供了數據平臺化運營機制。隨著DT時代的到來,企業急需變革,需要利用信息化、數字化、新技術的利器形成平臺化系統,賦能公司的人員和業務,快速應對挑戰。而這一切的數據基礎,正是數據湖所能提供的。
二、數據湖特點
數據湖本身,具備以下幾個特點:
海量原始數據集中存儲,無需加工。數據湖通常是企業所有數據的單一存儲,包括源系統數據的原始副本,以及用于報告、可視化、分析和機器學習等任務的轉換數據。數據湖可以包括來自關系數據庫(行和列)的結構化數據,半結構化數據(CSV,日志, XML, JSON),非結構化數據(電子郵件,文檔, PDF)和二進制數據(圖像,音頻,視頻)。也就是數據湖將不同種類的數據匯聚到一起。
使用者按需處理,不需要移動數據即可計算。數據庫通常提供了多種數據計算引擎供用戶來選擇。常見的包括批量、實時查詢、流式處理、機器學習等。
數據湖提供靈活的,面向任務的數據編訂,不需要提前定義數據模型。
三、數據湖優缺點
任何事物都有兩面性,數據湖有優點也同樣存在些缺點。
優點包括:
數據湖中的數據最接近原生的。這對于數據探索類需求,帶來很大便利,可以直接得到原始數據。
數據湖統一企業內部各個業務系統數據,解決信息孤島問題。為橫跨多個系統的數據應用,提供一種可能。
數據湖提供了全局的、統一的企業級數據概覽視圖,這對于數據質量、數據安全..直到整體的數據治理,甚至提高到數據資產層面都大有裨益。
數據湖改變了原有工作模式,鼓勵人人了解、分析數據;而不是依賴于專門的數據團隊的”供給”方式,可以提升數據運營效率、改善客戶互動、鼓勵數據創新。
圖1
缺點主要體現在:
對數據的歸集處理程度明顯缺失,對于試圖直接使用數據的用戶來說顯得有些過于“原材料”化,且數據太過冗余。應對這一問題,可通過”數據接入+數據加工+數據建模”的方式來解決。
對數據湖基礎層的性能有較高要求,必須依托高性能的服務器進行數據處理過程。這主要是來自于海量數據、異構多樣化數據、延遲綁定模式等帶來的問題。
數據處理技能要求高。這也主要是因為數據過于原始帶來的問題。
四、數據湖與關聯概念
4.1 數據湖 vs 數據倉庫
數據湖建設思路從本質上顛覆了傳統數據倉庫建設方法論。傳統的企業數據倉庫則強調的是整合、面向主題、分層次等思路。其兩者并不是對等的概念,更多是包含;即數據倉庫作為數據湖的一類“數據應用”存在。兩者可從以下維度進行對比:
數據倉庫是存儲清洗加工過的,可信任的、結構良好的數據;
數據湖則是存儲大量原始數據,包括結構化的、半結構化的和非結構化的數據。在我們世界中,主要是由原始的、混亂的、非結構化的數據組成。隨著“混亂數據”的不斷升級,人們對它的興趣也不斷增長,想要更好的理解它、從其中獲取價值、并根據它做出決策。這就得需要一個靈活、敏捷、經濟且相對輕松的解決方案,然而這些都不是數據倉庫的強項。而且當有新的需求提出時,傳統數據倉庫又難以快速隨之變化。
如果需要加載到數據倉庫中的數據,我們首先需要定義好它,這叫做寫時模式(Schema-On-Write)。
而對于數據湖,您只需加載原始數據,然后,當您準備使用數據時,就給它一個定義,這叫做讀時模式(Schema-On-Read)。
這是兩種截然不同的數據處理方法。因為數據湖是在數據到使用時再定義模型結構,因此提高了數據模型定義的靈活性,可滿足更多不同上層業務的高效率分析訴求。
傳統的數據倉庫的工作方式是集中式的,業務人員給需求到數據團隊,數據團隊根據要求加工、開發成維度表,供業務團隊通過BI報表工具查詢。
數據湖更多是開放、自助式的(self-service),開放數據給所有人使用,數據團隊更多是提供工具、環境供各業務團隊使用(不過集中式的維度表建設還是需要的),業務團隊進行開發、分析。
還有很多方面,我們通過下圖簡要對比。
4.2 數據湖 vs 大數據
數據湖的技術實現,與大數據技術緊密結合。
通過Hadoop存儲成本低的特點,將海量的原始數據、本地數據、轉換數據等保存在Hadoop中。這樣所有數據都在一個地方存儲,能給后續的管理、再處理、分析提供基礎。
通過Hive、Spark等低成本處理能力(相較于RDBMS),將數據交給大數據庫平臺劑型處理。此外,還可通過Storm、Flink等支持流式處理等特殊計算方式。
由于Hadoop的可擴展性,可以很方便地實現全量數據存儲。結合數據生命周期管理,可做到全時間跨度的數據管控。
4.3 數據湖 vs 云計算
云計算采用虛擬化、多租戶等技術滿足業務對服務器、網絡、存儲等基礎資源的最大化利用,降低企業對IT基礎設施的成本,為企業帶來了巨大的經濟性;同時云計算技術實現了主機、存儲等資源快速申請、使用,則同樣為企業帶來了更多的管理便捷性。在構建數據湖的基礎設施時,云計算技術可以發揮很大作用。此外,像AWS、MicroSoft、EMC等均提供了云端的數據湖服務。
4.4 數據湖 vs 人工智能
近些年,人工智能技術再一次飛速發展,訓練和推理等需要同時處理超大的,甚至是多個數據集,這些數據集通常是視頻、圖片、文本等非結構化數據,來源于多個行業、組織、項目,對這些數據的采集、存儲、清洗、轉換、特征提取等工作是一個系列復雜、漫長的工程。數據湖需要為人工智能程序提供數據快速收集、治理、分析的平臺,同時提供極高的帶寬、海量小文件存取、多協議互通、數據共享的能力,可以極大加速數據挖掘、深度學習等過程。
4.5 數據湖 vs 數據治理
傳統方式下,數據治理工作往往是在數據倉庫中。那么在構建企業級數據湖后,對數據治理的需求實際更強了。因為與”預建模”方式的數倉不同,湖中的數據更加分散、無序、不規格化等,需要通過治理工作達到數據”可用”狀態,否則數據湖很可能會”腐化”成數據沼澤,浪費大量的IT資源。平臺化的數據湖架構能否驅動企業業務發展,數據治理至關重要。這也是對數據湖建設的最大挑戰之一。
4.6 數據湖 vs 數據安全
數據湖中存放有大量原始及加工過的數據,這些數據在不受監管的情況下被訪問是非常危險的。這里是需要考慮必要的數據安全及隱私保護問題,這些是需要數據湖提供的能力。但換種角度來看,將數據集中在數據湖中,其實是有利于數據安全工作的。這要比數據分散在企業各處要好的多。
五、數據湖架構
5.1 數據接入
在數據接入方面,需提供適配的多源異構數據資源接入方式,為企業數據湖的數據抽取匯聚提供通道。提供如下能力:
數據源配置:支持多種數據源,包括但不限于數據庫、文件、隊列、協議報文等。
數據采集:支持對應數據源的采集動作,需完成結構解析、清洗、標準化格式等。
數據同步:支持數據同步到其他數據源,包括必要的清洗、加工、轉換等。
數據分發:支持數據的共享分發,將數據以多種形式(對象、API等)發布出來。
任務調度:任務管理、監控、日志、策略等。
數據加工:支持對數據的加密、脫敏、規格化、標準化等加工邏輯。
5.2 數據存儲
許多企業通常忽略數據積累的價值,數據需要從企業的各個方面持續的收集、存儲,才有可能基于這些數據挖掘出價值信息,指導業務決策,驅動公司發展。因此數據湖需要提供的核心能力之一就是存儲能力。通過一套數據存儲池,可有效解決企業中的數據煙囪問題,提供統一的命名空間,多協議互通訪問,實現數據資源的高效共享,減少數據移動。當然數據在湖中也不能無序存放,這里需要有個數據生命周期的概念。需要根據數據的不同階段,根據其價值、成本因素,設計可行的存儲方案。
5.3 數據計算
數據湖需要提供多種數據分析引擎,來滿足數據計算需求。需要滿足批量、實時、流式等特定計算場景。此外,向下還需要提供海量數據的訪問能力,可滿足高并發讀取需求,提高實時分析效率。
5.4 數據應用
在基本的計算能力之上,數據湖需提供批量報表、即席查詢、交互式分析、數據倉庫、機器學習等上層應用,還需要提供自助式數據探索能力。
首發于公眾號《韓鋒頻道》,歡迎關注。
來源:宜信技術學院
本文轉載自異步社區。
數據倉庫服務 GaussDB(DWS) 數據湖治理中心 DGC
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。