精选·数据湖与治理

数据湖和数据仓库有什么区别?面试标准答法与延伸

91学AI·2026/7/13·11 阅读

考察点

这是数据湖方向的开场题,几乎必问。面试官想看的不是背定义,而是你能否讲清两者在工程上的本质取舍:schema 何时定义、数据以什么形态存、算力和存储怎么解耦。答得好的人会把话题自然带到「为什么要搞湖仓一体」,追问通常就落在你公司到底用湖还是用仓、或者两者怎么配合。

参考答案

一句话先立住

数据仓库是「先建模再进数据」,数据湖是「先存数据再决定怎么用」。这个 schema-on-write 对 schema-on-read 的差异是根,其他区别都是它长出来的枝叶。

五个维度的展开对比

维度数据仓库数据湖
数据形态结构化为主,进仓前完成清洗建模结构化、半结构化、非结构化都收,原样落地
Schema 时机schema-on-write,入库前强校验schema-on-read,读取时才解释
存储成本专有格式或 MPP 引擎内,成本高HDFS/对象存储,副本廉价,可分层
查询性能面向固定 SQL 场景深度优化,快依赖引擎(Spark/Presto/Trino),裸查慢
适用场景报表、BI、固定指标探索分析、机器学习、原始数据归档

数据湖能兴起,现实原因是对象存储(S3、OSS)足够便宜,计算引擎(Spark、Flink、Trino)又足够强,「先把数据全倒进来,用的时候再说」在经济上成立了。而数仓的核心价值从来没变过:建模过程本身就是对业务的一次梳理,维度建模产出的宽表和指标体系,是业务方能直接消费的资产。

各自的坑要讲出来

只讲优点会显得没干过活。数据湖最大的坑是「数据沼泽」:没有治理的湖,数据进了没人知道有什么、谁能用、质量如何,最后变成只进不出的垃圾场。数仓的坑是「重」:建模周期长,业务一变就要改模型,历史数据回刷成本高,而且它基本处理不了图片、日志、音视频这类数据。

落地上的常见搭配

真实公司很少二选一。典型架构是湖仓分层:原始日志先进湖(比如 OSS 上的 Iceberg 表),ODS 层原样保留;然后在湖上或者同步进数仓做 DWD、DWS 建模,给 BI 用;机器学习团队直接读湖里的原始层。湖是「蓄水池」,仓是「精加工车间」。

收个尾:为什么都在谈湖仓一体

两套系统的维护成本、数据冗余、口径不一致问题积累到一定程度,行业就开始往湖仓一体收敛:在开放的湖格式上把 ACID、schema 演进、索引这些数仓能力补齐,让一份数据同时服务 BI 和 AI。这也是后面 Iceberg、Hudi 这些表格式火起来的根本原因,面试里主动提一句这个演进逻辑,答案就完整了。

可能的追问

  • 你们公司现在用的是湖还是仓?为什么? 结合业务答:以固定报表为主选仓,有大量日志/算法需求选湖,多数中大型公司是湖+仓或湖仓一体。
  • 数据湖查询慢怎么解决? 答表格式(Iceberg/Hudi)提供索引和文件级裁剪、分区设计、Z-Order/聚簇、加缓存层(Alluxio)或用 MPP 引擎(Trino/StarRocks)直查。
  • 数据沼泽怎么避免? 答元数据目录、数据血缘、质量监控、生命周期管理四件套,靠治理体系而不是靠自觉。

评论 (0)

暂无评论,快来抢沙发吧!

91学AI

© 2026 91学AI · 按岗位学 AI 与大数据. All rights reserved.