湖倉一體化及冷、熱、實時三級存儲

一、湖倉一體化(Lakehouse)

湖倉一體化(Lakehouse)是數據湖(Data Lake)與數據倉庫(Data Warehouse)的結合,旨在解決傳統數據架構中數據孤島、存儲冗余、計算性能不足等問題。其核心思想是兼顧數據湖的存儲靈活性和數據倉庫的管理與計算能力,使得結構化、半結構化、非結構化數據能夠在同一存儲系統中高效管理和分析。

二、為什么需要湖倉一體?

  1. 數據湖的缺陷

    • 缺乏強Schema,查詢復雜,性能較低
    • 數據治理能力較弱,數據質量參差不齊
  2. 數據倉庫的缺陷

    • 存儲成本高,不能存儲大量的原始數據
    • 主要適用于結構化數據,不適合處理非結構化數據
  3. 湖倉一體的優勢

    • 既能存儲原始數據(像數據湖一樣),又能提供高性能查詢(像數據倉庫一樣)
    • 降低數據存儲成本,避免數據重復存儲
    • 支持大規模數據分析與AI場景(如機器學習、流式計算)
  4. 對比傳統模式

  5. 傳統的數據架構通常分為**數據湖(Data Lake)數據倉庫(Data Warehouse)**兩種模式,但它們各有優缺點:

    架構優點缺點
    數據湖(Data Lake)能存儲結構化、半結構化、非結構化數據;存儲成本低數據治理能力弱,查詢性能差
    數據倉庫(Data Warehouse)查詢性能高,數據質量高,支持 BI 和決策分析存儲成本高,不適合存放原始數據

三、湖倉一體的核心架構

湖倉一體的核心目標是在對象存儲(如 S3、HDFS)上提供類似數據倉庫的能力。其架構一般包括以下部分:

  1. 存儲層(對象存儲)

    • 使用**對象存儲(S3、OSS、HDFS)**作為統一存儲層。
    • 采用Parquet、ORC等高效存儲格式,支持冷熱存儲分層。
  2. 數據管理層(表格式 & 元數據管理)

    • 采用事務表格式(Delta Lake、Apache Iceberg、Apache Hudi),提供ACID 事務、Schema 演進能力。
    • 結合元數據管理(Hive Metastore、Glue、Unity Catalog),支持SQL查詢。
  3. 計算引擎(Lakehouse Query Engine)

    • 計算框架:Spark、Flink、Presto、Trino、Dremio 等。
    • 可直接查詢數據湖中的文件,無需數據遷移到數據倉庫。
  4. 數據消費層(BI & AI)

    • BI 分析:Power BI、Tableau、Superset
    • AI/ML 訓練:Spark ML、TensorFlow、PyTorch
    • 流式計算:Flink、Kafka Streams

四、湖倉一體的關鍵技術

????????數據存儲格式

湖倉一體通常使用以下列式存儲格式

  • Parquet(默認,適用于大數據查詢)
  • ORC(Hive & Spark 生態)
  • Delta Lake(Databricks 提出,支持 ACID 事務)
  • Iceberg(Netflix 提出,適用于大規模數據管理)
  • Hudi(Uber 提出,適用于實時數據更新)

?????????事務表格式

  • Delta Lake(Databricks):最流行的 Lakehouse 方案,支持 ACID 事務、時間旅行(Time Travel)。
  • Apache Iceberg(Netflix):高擴展性,適用于云端數據湖。
  • Apache Hudi(Uber):擅長處理流數據(Change Data Capture, CDC)。

????????計算引擎

  • 離線計算:Spark、Hive、Presto、Trino
  • 實時計算:Flink、Kafka Streams
  • OLAP 查詢:ClickHouse、Doris

五、湖倉一體的冷熱存儲

冷熱存儲

湖倉一體通常采用冷、熱、實時三級存儲策略,降低存儲成本并優化查詢性能:

存儲類型適用數據主要存儲介質查詢性能存儲成本典型應用
實時存儲最新數據(秒級)Kafka、Hudi、Flink極快實時數據分析、風控
熱數據存儲近期高頻訪問數據(小時~天級)Delta Lake、Iceberg中等交互式查詢、近實時分析
冷數據存儲歸檔數據(周~月級)S3、HDFS、OSS歷史數據分析、模型訓練

數據分層存儲的關鍵點

  • 冷熱數據劃分策略:例如最近 30 天數據存放在熱存儲,半年以上的數據存入冷存儲
  • 冷熱數據訪問方式
    • 熱數據:直接查詢(高性能)
    • 冷數據:按需加載,減少存儲開銷

湖倉一體 vs 傳統數據倉庫

對比項傳統數據倉庫湖倉一體
存儲成本高(需要計算+存儲)低(使用對象存儲)
數據類型結構化數據結構化+半結構化+非結構化
事務支持強(ACID 事務)支持 ACID(Delta、Iceberg)
查詢性能高(優化的 OLAP 引擎)高(基于 Parquet + 索引優化)
擴展性有限(存算一體)高(存算分離)
實時分析依賴數據導入支持流式數據

六、未來趨勢

  • 數據湖+數據倉庫深度融合(Lakehouse 逐漸成為標準架構)
  • ACID 事務表格式(Delta/Iceberg/Hudi)成為主流
  • 存算分離架構,結合 Serverless 計算
  • AI/ML 直接在 Lakehouse 上訓練數據模型

? ? ? ? 湖倉一體化(Lakehouse)是大數據架構的演進方向,結合了數據湖的存儲優勢和數據倉庫的查詢能力,同時支持冷熱分層存儲、ACID 事務、實時數據分析。它解決了傳統數據湖和數據倉庫的缺陷,成為現代數據架構的主流選擇

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72676.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72676.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72676.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

go切片定義和初始化

1.簡介 切片是數組的一個引用,因此切片是引用類型,在進行傳遞時,遵守引用傳遞的機制。切片的使用和數組類似,遍歷切片、訪問切片的元素和切片的長度都一樣。。切片的長度是可以變化的,因此切片是一個可以動態變化的數…

游戲引擎學習第138天

倉庫:https://gitee.com/mrxiao_com/2d_game_3 資產:game_hero_test_assets_003.zip 發布 我們的目標是展示游戲運行時的完整過程,從像素渲染到不使用GPU的方式,我們自己編寫了渲染器并完成了所有的工作。今天我們開始了一些新的內容&#…

畢業項目推薦:基于yolov8/yolov5/yolo11的暴力行為檢測識別系統(python+卷積神經網絡)

文章目錄 概要一、整體資源介紹技術要點功能展示:功能1 支持單張圖片識別功能2 支持遍歷文件夾識別功能3 支持識別視頻文件功能4 支持攝像頭識別功能5 支持結果文件導出(xls格式)功能6 支持切換檢測到的目標查看 二、數據集三、算法介紹1. YO…

docker中kibana啟動后,通過瀏覽器訪問,出現server is not ready yet

問題:當我在瀏覽器訪問kibana時,瀏覽器給我報了server is not ready yet. 在網上試了很多方法,都未能解決,下面是我的方法: 查看kibana日志: docker logs -f kibana從控制臺打印的日志可以發現&#xff…

在 Docker 中,無法直接將外部多個端口映射到容器內部的同一個端口

Docker 的端口映射是一對一的,即一個外部端口只能映射到容器內部的一個端口。 1. 為什么不能多對一映射? 端口沖突: 如果外部多個端口映射到容器內部的同一個端口,Docker 無法區分外部請求應該轉發到哪個內部端口,會…

游戲引擎學習第120天

倉庫:https://gitee.com/mrxiao_com/2d_game_3 上次回顧:周期計數代碼 我們正在進行一個項目的代碼優化工作,目標是提高性能。當前正在優化某個特定的代碼片段,已經將其執行周期減少到48個周期。為了實現這一目標,我們設計了一個…

C++中的.h文件一般是干什么的?

在C中,.h 文件通常是 頭文件(Header File),它們的主要作用是聲明類、函數、常量、宏以及其他在多個源文件(.cpp文件)之間共享的元素。頭文件提供了一個接口,使得不同的源文件能夠訪問這些共享的…

基礎算法總結

基礎算法總結 1、模擬1.1 什么是模擬算法1.2 算法題1.2.1 多項式輸出1.2.2 蛇形方陣 2 高精度算法2.1 什么是高精度算法2.2 算法題2.2.1 高精度加法 2.2.2 高精度乘法 3 普通枚舉3.1 算法題3.1.1 鋪地毯 3.1.2 回文日期 4 前綴和算法4.1 什么是前綴和4.2 算法題4.2.1 最大子段和…

密碼學(哈希函數)

4.1 Hash函數與數據完整性 數據完整性: 檢測傳輸消息(加密或未加密)的修改。 密碼學Hash函數: 構建某些數據的簡短“指紋”;如果數據被篡改,則該指紋(以高概率)不再有效。Hash函數…

游戲引擎學習第135天

倉庫:https://gitee.com/mrxiao_com/2d_game_3 回顧 game_asset.cpp 的創建 在開發過程中,不使用任何現成的游戲引擎或第三方庫,而是直接基于 Windows 進行開發,因為 Windows 目前仍然是游戲的標準平臺,因此首先在這個環境中進行…

Linux:文件描述符與重定向

目錄 一、文件描述符 1.文件內核對象 2.文件描述符分配原則 二、文件重定向 1.重定向的現象 輸出重定向 輸入重定向 dup2 2.重定向的使用 三、標準輸出和標準錯誤 繼上篇文章中,我們了解了fd打印的值為文件描述符,那么它還有什么作用呢&…

白盒測試(3):PCB阻抗測試方法

PCB阻抗測試是確保信號完整性的關鍵,通過測量走線的特性阻抗,驗證其是否符合設計目標。常用方法包括時域反射法(TDR)、網絡分析儀法和仿真軟件法。TDR通過分析反射信號定位阻抗異常,網絡分析儀通過S參數計算阻抗&#…

CentOS 7 安裝Nginx-1.26.3

無論安裝啥工具、首先認準了就是官網。Nginx Nginx官網下載安裝包 Windows下載: http://nginx.org/download/nginx-1.26.3.zipLinxu下載 wget http://nginx.org/download/nginx-1.26.3.tar.gzLinux安裝Nginx-1.26.3 安裝之前先安裝Nginx依賴包、自行選擇 yum -y i…

筆記:如何使用XAML Styler以及在不同的開發環境中使用一致

一、目的:分享如何使用XAML Styler以及在不同的開發環境中使用一致 XAML Styler 是一個 Visual Studio 擴展,用于自動格式化和整理 XAML 文件。它可以幫助開發者保持一致的代碼風格,提高代碼的可讀性和可維護性。以下是如何在 Visual Studio …

分布式存儲學習——HBase概述

1.1 HBase概述 1.1.1 理解大數據背景 1.1.2 HBase是什么 1.1.3 HBase與Hadoop的關系 1.1.4 HBase的核心功能模塊 1.1.5 HBase的應用場景和經典案例 1.1.6 小結 本文參考于學校《HBase應用于開發》教材 1.1 HBase概述 本節將介紹大數據背景和HBase的基本概念&#xff0c…

交叉編譯openssl及curl

操作環境:Ubuntu20.04 IDE工具:Clion2020.2 curl下載地址:https://curl.se/download/ openssl下載地址:https://openssl-library.org/source/old/index.html 直接交叉編譯curl會報錯找不到openssl,所以需要先交叉編…

MDM 如何徹底改變醫療設備的遠程管理

在現代醫療行業迅速發展的格局中,醫院和診所越來越依賴諸如醫療平板和移動工作站等移動設備。這些設備在提高工作效率和提供卓越的患者護理方面發揮著關鍵作用。然而,隨著它們的廣泛使用,也帶來了一系列挑戰,例如在不同地點確保數…

零基礎C語言學習日志22(自定義類型:聯合和枚舉)

目錄 聯合體 聯合體類型的聲明 聯合體的特點 相同成員聯合體和結構體的對比 聯合體大小的計算 例子 枚舉類型 枚舉類型的聲明 枚舉類型的優點 枚舉類型的使用 聯合體 聯合體類型的聲明 像結構體一樣,聯合體也是由一個或者多個成員構成,這些成…

天津大學02-深度解讀DeepSeek:部署、使用、安全【文末附下載鏈接】

大模型風險與不當用例——價值觀錯位 大模型與人類價值觀、期望之間的不一致而導致的安全問題,包含:? 社會偏見(Social Bias)LLM在生成文本時強化對特定社會群體的刻板印象,例如將穆斯林與恐怖主義關聯,或…

[C語言日寄] 字符串操作函數的使用及其拓展

【作者主頁】siy2333 【專欄介紹】?c語言日寄?:這是一個專注于C語言刷題的專欄,精選題目,搭配詳細題解、拓展算法。從基礎語法到復雜算法,題目涉及的知識點全面覆蓋,助力你系統提升。無論你是初學者,還是…