數據湖(Data Lake)是Pentaho公司創始人及CTO James Dixon於2010年10月在2010年10月紐約Hadoop World大會上提出來的一種數據存儲理念—即在系統或存儲庫中以自然格式存儲數據的方法。數據湖作為一個集中的存儲庫,可以在其中存儲任意規模的結構化和非結構化數據。在數據湖中,可以存儲不需要對其進行結構化的數據,這樣就可以運行不同類型的分析。
簡單表述總結為以下8點:
1) 數據湖需要提供足夠用的數據存儲能力,存儲保存了一個企業/組織中的所有數據。
2) 數據湖可以存儲海量的任意類型的數據,包括結構化、半結構化和非結構化數據。
3)數據湖中的數據是原始數據,是業務數據的完整副本。
4) 需要具備完善的數據管理能力(完善的元數據),可以管理各類數據相關的要素,包括數據源、數據格式、連接信息、數據schema、權限管理等。
5) 需要具備多樣化的分析能力,包括但不限於批處理、流式計算、交互式分析以及機器學習;同時,還需要提供一定的任務調度和管理能力。
6) 需要具備完善的數據生命周期管理能力。不僅需要存儲原始數據,還要能夠保存各類分析處理的中間結果,並完整的記錄數據的分析處理過程,幫助用戶完整詳細追溯任意一條數據的產生過程。
7)需要具備完善的數據獲取和數據發布能力。
8) 對於大數據的支持,包括超大規模存儲以及可擴展的大規模數據處理能力。
三大理念:
1)能夠存儲海量的原始數據
2)能夠支持任意的數據格式
3)有較好的分析和處理能力
六大基本特征:
1)“保真性”
2)“靈活性”
3)“可管理”
4)“可追溯”
5)豐富的計算引擎
6)多模態的存儲引擎
數據湖和數據倉庫的對比:
當前的數據倉庫痛點:
1)只能存儲結構化數據,無法采集存儲非結構化數據
2)無法存儲原始數據,所有的數據須經過ETL清洗過程
3)離線數倉的數據表牽一發而動全身,數據調整工程量大
4)實時數倉存儲空間有限,無法采集和存儲海量實時數據
5)回溯效率低下,實時數據和離線數據計算接口難以統一
數據湖可以完美的解決傳統數倉的各大痛點,更大力度的挖掘數據價值。數據湖是幫助企業實現全量數據單一存儲的集中式存儲庫,無需任何預處理,可以存儲任意規模、任意類型、各種需求速度的數據,包括結構化、半結構化和音視頻、圖片、文本等非結構化數據。
而且,數據湖通常存儲原始格式的對象塊或者文件,保證數據的”原汁原味”,對企業更加全面的抓取、分析和應用數據,創造更大的數據價值提供重要的基礎支撐。
數據湖理念支持各種分析方式,可以運行從控制面板、可視化、大數據處理、實時分析到機器學習等不同類型的分析。
不同於傳統數據的表模型建立方式,數據湖基於讀取型Schema,采用讀時模式,能夠根據業務需求靈活建表,大大提升了敏捷性和精准度。
使用傳統數倉的企業,每個部門都只有自己的數據。數據湖打破了 “數據孤島”的閉塞,允許多種職能角色包括數據科學家、數據開發人員和業務分析師等通過各自選擇的分析工具和框架來訪問數據,而無須移動數據,
大大節省了定義數據結構、Schema和轉換的時間。這不僅讓跨領域、跨平台、跨媒介的數據分析簡單實現,”時空旅行”的回溯秒回功能加持數據湖能夠更敏捷地提供全量和全生命周期的數據分析結果和數據預測分析服務,靈活高效支撐企業各種決策的制定,真正助力企業實現降本增效,落地實現數智化轉型發展。
通過數據湖技術可以實現”敏捷”地統一存儲和統一分析,能夠最大程度地解決大數據的痛點問題。
常見的三大數據湖技術Delta、Hudi、Iceberg對比