从"水库"到"直饮水站":重新理解 Data Mart 与 Data Lake、Data Lakehouse、Data Warehouse 的区别
如果把数据体系比作一套"城市供水系统",这四个概念会立刻清晰很多:
- Data Lake:天然水库、大湖泊,什么水都往里汇。
- Data Warehouse:城市自来水厂,把水净化、消毒、标准化,再通过管网送到全城。
- Data Lakehouse:建在湖边的智能水厂,既能存原水,又能净化、管理、追溯,还能直接供水。
- Data Mart:小区里的直饮水站,只服务某个小区,水已经按这个小区的要求调好,打开就能喝。
下面用这个比喻,重新梳理它们之间的关系,尤其是 Data Mart 与 Data Lake、Data Lakehouse 的区别 。

一、先放回同一张图:数据供水系统
| 概念 | 比喻 | 核心定位 | 典型用户 |
|---|---|---|---|
| Data Lake | 天然水库 / 大湖泊 | 存原始、多格式、全量数据 | 数据工程师、数据科学家 |
| Data Warehouse | 城市自来水厂 | 企业级、结构化、标准化、可分析 | BI、管理层、分析师 |
| Data Lakehouse | 湖边智能水厂 | 湖仓一体,兼顾原始存储与仓级治理 | 数据平台、AI/BI 团队 |
| Data Mart | 小区直饮水站 | 部门级、主题级、即用型数据子集 | 业务分析师、部门运营 |
一句话:
Data Lake 负责"汇",Data Warehouse / Lakehouse 负责"治",Data Mart 负责"用"。
二、Data Mart 与 Data Lake 的区别:成品菜 vs 原材料
Data Lake 像大型农贸批发市场或天然水库:蔬菜、肉、海鲜、雨水、河水全都有,量大、便宜、原始。你可以用它做很多事------探索、训练模型、做数据科学,但不能直接喝,也不能直接上桌。
Data Mart 则像公司食堂里某个窗口的便当:只放这个部门需要的菜,已经洗好、切好、做好,拿起来就能吃。
| 维度 | Data Lake | Data Mart |
|---|---|---|
| 定位 | 存储层、原始数据池 | 消费层、业务数据产品 |
| 数据形态 | 原始、多格式、全量 | 加工后、结构化、聚合 |
| Schema | Schema-on-read | Schema-on-write / 已建模 |
| 用户 | 数据工程师、数据科学家 | 业务分析师、部门人员 |
| 目标 | 探索、ML、数据保留 | 报表、BI、自助分析 |
| 范围 | 企业级、全量 | 部门级、主题级 |
| 风险 | 容易变成数据沼泽 | 容易形成口径孤岛 |
关键区别:
Data Lake 是"原材料仓库",Data Mart 是"成品菜窗口"。
湖可以喂给集市,但集市不是湖。Data Mart 不负责存全量原始数据,也不适合做大规模探索。
三、Data Mart 与 Data Lakehouse 的区别:消费单元 vs 平台底座
Data Lakehouse 是"湖边智能水厂":它既有湖的存储能力,又有仓的事务、Schema、性能和管理能力。它支持 ACID、时间旅行、Schema 演进,能同时服务 BI 和 AI。
Data Mart 则是这个平台上的一个"小区直饮水站"或"部门便当窗口"。它不是平台,而是面向特定业务场景的数据消费单元。
| 维度 | Data Lakehouse | Data Mart |
|---|---|---|
| 本质 | 平台 / 架构 | 数据产品 / 消费层 |
| 范围 | 企业级、通用能力 | 部门级、特定主题 |
| 数据 | 原始 + 精炼 + 服务层都可承载 | 主要是精炼、聚合、服务层 |
| 用户 | 数据平台、数据工程、AI/BI | 业务分析师、部门决策者 |
| 目标 | 统一存储、治理、BI+ML | 快速满足某部门分析需求 |
| 关系 | 一个 Lakehouse 可承载多个 Mart | 一个 Mart 可建在 Lakehouse 上 |
关键区别:
Lakehouse 是"水厂 + 水库 + 管网"的底座,Data Mart 是"某个小区的直饮水站"。
Lakehouse 解决"湖仓割裂",Data Mart 解决"业务消费最后一公里"。
有了 Lakehouse,仍然可能需要 Data Mart,因为业务人员不想直接面对原始表和全量数据。
四、Data Mart 与 Data Warehouse 的区别:部门窗口 vs 中央厨房
Data Warehouse 是城市自来水厂或中央厨房:企业级、统一标准、统一口径、历史全量、面向主题。它建设周期长,但数据一致性强。
Data Mart 是小区直饮水站或部门食堂窗口:范围小、交付快、按部门需求裁剪。它可以是数仓的下游,也可以独立建设。
| 维度 | Data Warehouse | Data Mart |
|---|---|---|
| 范围 | 企业级 | 部门 / 主题级 |
| 数据 | 全量、集成、历史 | 子集、裁剪、聚合 |
| 建设周期 | 长 | 短 |
| 一致性 | 单一事实来源 | 可能局部不一致 |
| 模型 | 规范化 / 维度建模 | 星型、宽表、聚合表 |
| 建设顺序 | 自上而下或自下而上 | 依赖型、独立型、混合型 |
关键区别:
Data Warehouse 是"全企业统一净化好的水",Data Mart 是"某个部门打开就能喝的直饮水"。
Mart 是 Warehouse 的子集,但独立型 Mart 也可能直接来自源系统,像小区自己打井------快,但水质可能不统一。
五、四者对比总表
| 维度 | Data Lake | Data Warehouse | Data Lakehouse | Data Mart |
|---|---|---|---|---|
| 比喻 | 天然水库 | 城市自来水厂 | 湖边智能水厂 | 小区直饮水站 |
| 数据 | 原始、多格式 | 结构化、集成 | 原始 + 精炼 + 服务 | 裁剪、聚合、即用 |
| Schema | 读时定义 | 写时定义 | 两者兼顾 | 已建模 |
| 用户 | 工程师、科学家 | BI、管理层 | 数据平台、AI/BI | 业务分析师 |
| 范围 | 企业级 | 企业级 | 企业级平台 | 部门/主题级 |
| 目标 | 探索、ML | 报表、分析 | 统一 BI+ML | 快速业务消费 |
| 建设 | 先存后治 | 长周期 | 湖仓一体 | 快、专、小 |
六、现代架构中的位置
一个常见的现代数据链路可以这样理解:
源系统 → Data Lake(原水)→ Data Lakehouse / Data Warehouse(净化与治理)→ Data Mart(直饮)→ BI / 报表 / 自助分析
同时,Data Lake / Lakehouse 也可以直接服务 ML / AI。
- Data Lake:负责接住所有原始数据。
- Data Warehouse:负责企业级标准化、历史集成。
- Data Lakehouse:负责在湖上补齐仓的能力,统一 BI 和 ML。
- Data Mart:负责面向部门、主题、场景的最后一公里消费。
现代实践中,Data Mart 不一定是独立数据库,它可以是:
- 数仓里的一个 schema;
- Lakehouse 上的一组 dbt 模型;
- 语义层里的指标视图;
- 面向业务域的数据产品。
七、一句话记住四者
- Data Lake:什么都有,但你要自己挑、自己洗、自己做。
- Data Warehouse:全企业统一净化好的水,标准、稳定、可信。
- Data Lakehouse:既能存原水,又能净化供水的智能水厂。
- Data Mart:某个部门拧开就喝的直饮水,小、专、快。
所以,Data Mart 与 Data Lake、Data Lakehouse 最核心的区别是:
Data Lake 是"存原材料的湖",Data Lakehouse 是"湖仓一体的智能平台",Data Mart 是"面向业务部门的即用型数据消费层"。
前者偏存储和平台,后者偏消费和场景。它们不是替代关系,而是数据供应链上不同环节的分工。
Powered by Moshow郑锴@https://zhengkai.blog.csdn.net/