湖仓一体化及冷、热、实时三级存储

一、湖仓一体化(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.mzph.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语言刷题的专栏,精选题目,搭配详细题解、拓展算法。从基础语法到复杂算法,题目涉及的知识点全面覆盖,助力你系统提升。无论你是初学者,还是…