易君召
易君召
发布于 2026-11-07 / 1 阅读
0

数据湖 vs 数据仓库 核心区别

一句话概括: 数据湖:存原始数据,先存储、后定义 Schema;数据仓库:存加工后的数据,先定义 Schema、再入库。

对比总表

维度

数据湖(Data Lake)

数据仓库(Data Warehouse)

Schema 模式

Schema-on-Read(读时校验)写入不校验结构,查询时才解析

Schema-on-Write(写时校验)建表提前定义字段、类型、约束,写入必须符合

数据形态

原始、半结构化、非结构化都支持:日志、JSON、图片、音视频、CSV、Parquet

结构化数据为主,清洗、转换后的表数据

存储格式

开放格式:Parquet、ORC、JSON、Avro、原始文本,对象存储(S3/OSS/HDFS)

内部存储格式,数据库表结构,行存 / 列存(如 ClickHouse、Redshift、GaussDW)

处理方式

ELT:先把数据原样丢进去,后面再转换加工

ETL:抽取→清洗转换→加载,入库前加工好

使用场景

机器学习、实时探索、Ad-Hoc 即席查询、海量原始数据归档、流数据接入

BI 报表、固定业务分析、管理看板、财务统计、结构化指标

成本

存储廉价,适合超大规模冷 / 温数据;计算按需

整体成本更高,软硬件耦合,面向稳定查询性能

治理门槛

门槛高,容易变成数据沼泽(Data Swamp),需要元数据、权限、血缘管理

治理成熟,模型规范(星型 / 雪花模型),更容易管控质量

典型引擎 / 产品

Iceberg、Hudi、Delta Lake、DuckDB、Spark、Presto、对象存储

ClickHouse、Greenplum、Teradata、AnalyticDB、GaussDW、BigQuery

通俗理解

  • 数据湖 = 大池塘:什么东西都往里丢,原文件原样放着。你想用的时候自己捞出来、自己解析、自己整理。灵活,但乱起来很难用。

  • 数据仓库 = 整理好的储物柜:提前分好格子,规定好每个格子放什么、长什么样,放进去前必须整理干净。拿出来直接做报表,稳定好管理,但不适合随便丢乱七八糟原始数据。

现在的融合趋势:湖仓一体(Lakehouse)

单独的湖和仓边界越来越模糊,湖仓一体是主流方向: 底层用数据湖(对象存储 + 湖表格式:Iceberg/Hudi/Delta)存数据,上层提供类似数仓的能力:ACID、事务、元数据、SQL、权限。

代表:Databricks、阿里云 MaxCompute、华为 FusionInsight、Apache Doris(部分湖仓能力)

选型快速判断

✅ 选数据湖:

  • 有大量日志、JSON、音视频、原始埋点

  • 要做 AI 训练、探索性分析,不知道未来怎么用数据

  • 数据量极大,希望降低存储成本

✅ 选数据仓库:

  • 主要给业务、BI 做固定报表、指标看板

  • 数据已经结构化,需要强一致性、稳定查询时延

  • 团队更熟悉 SQL 建模,需要严格数据质量


本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。

原文链接 https://www.yijunzhao.cn/archives/data-lake-vs-data-warehouse-core-differences

欢迎访问 小易撩挨踢

https://www.yijunzhao.cn/