湖仓一体化及冷、热、实时三级存储
一、湖仓一体化(Lakehouse)
湖仓一体化(Lakehouse)是数据湖(Data Lake)与数据仓库(Data Warehouse)的结合,旨在解决传统数据架构中数据孤岛、存储冗余、计算性能不足等问题。其核心思想是兼顾数据湖的存储灵活性和数据仓库的管理与计算能力,使得结构化、半结构化、非结构化数据能够在同一存储系统中高效管理和分析。
二、为什么需要湖仓一体?
-
数据湖的缺陷:
- 缺乏强Schema,查询复杂,性能较低
- 数据治理能力较弱,数据质量参差不齐
-
数据仓库的缺陷:
- 存储成本高,不能存储大量的原始数据
- 主要适用于结构化数据,不适合处理非结构化数据
-
湖仓一体的优势:
- 既能存储原始数据(像数据湖一样),又能提供高性能查询(像数据仓库一样)
- 降低数据存储成本,避免数据重复存储
- 支持大规模数据分析与AI场景(如机器学习、流式计算)
-
对比传统模式
-
传统的数据架构通常分为**数据湖(Data Lake)和数据仓库(Data Warehouse)**两种模式,但它们各有优缺点:
架构 优点 缺点 数据湖(Data Lake) 能存储结构化、半结构化、非结构化数据;存储成本低 数据治理能力弱,查询性能差 数据仓库(Data Warehouse) 查询性能高,数据质量高,支持 BI 和决策分析 存储成本高,不适合存放原始数据
三、湖仓一体的核心架构
湖仓一体的核心目标是在对象存储(如 S3、HDFS)上提供类似数据仓库的能力。其架构一般包括以下部分:
-
存储层(对象存储):
- 使用**对象存储(S3、OSS、HDFS)**作为统一存储层。
- 采用Parquet、ORC等高效存储格式,支持冷热存储分层。
-
数据管理层(表格式 & 元数据管理):
- 采用事务表格式(Delta Lake、Apache Iceberg、Apache Hudi),提供ACID 事务、Schema 演进能力。
- 结合元数据管理(Hive Metastore、Glue、Unity Catalog),支持SQL查询。
-
计算引擎(Lakehouse Query Engine):
- 计算框架:Spark、Flink、Presto、Trino、Dremio 等。
- 可直接查询数据湖中的文件,无需数据迁移到数据仓库。
-
数据消费层(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 事务、实时数据分析。它解决了传统数据湖和数据仓库的缺陷,成为现代数据架构的主流选择