跳到主内容
快讯直播
AI智模界
AI 词典

数据仓库、数据湖、湖仓一体:到底该用哪个

一句话定义:数据仓库(Data Warehouse)存“已经算好的结构化结果”,数据湖(Data Lake)存“原封不动的所有文件”,湖仓一体(Lakehouse)是在湖的文件之上加一层表格式(Table Format)和事务,让湖也能像仓库一样被 SQL 查询和更新。

打个比方。仓库像中央厨房的成品冷柜:食材洗净切好、按菜谱分装、贴好标签,随取随用,但只能放标准化的东西,改一次菜谱要重新走一遍流程。数据湖像一个巨大的冷库,整箱原料都能往里扔,便宜能装,可进去容易出来难——没人知道哪箱是什么,时间一长就变成“数据沼泽”(Data Swamp)。湖仓一体相当于给冷库装上货架、条码和出入库台账:东西还是那些文件,但每箱有标签、有版本、能事务性更新,于是可以直接照着货架做菜。

技术上的关键差别在于“什么时候定结构”。仓库是 schema-on-write,写入前先建模,常见星型模型、列式存储、MPP 架构,擅长聚合查询,代价是僵硬且贵,非结构化数据进不来。湖是 schema-on-read,先存原始日志、JSON、图片、音视频,用对象存储加开放文件格式(如 Parquet、ORC),读的时候再解释,适合数据科学和机器学习。湖仓一体的核心是表格式层(如 Apache Iceberg、Delta Lake、Hudi),它给对象存储上的文件补上 ACID 事务、时间旅行、schema 演进,让同一份数据既能被 SQL 引擎查,也能被 Spark 之类的引擎读;具体能力以官方文档为准。

维度数据仓库数据湖湖仓一体
存什么清洗后的结构化表任意格式原始文件原始文件 + 表格式元数据
写入校验强 schema基本不校验表级 schema 与约束
更新与事务支持较弱ACID、行级更新、时间旅行
主要用户BI、财务、运营报表算法、数据科学两者兼有
主要风险贵、僵硬退化成数据沼泽治理与运维复杂度上升

选型边界:只做固定报表、指标口径必须全公司一致、团队以 SQL 为主,仓库最省心;数据形态杂、要留原始存档、未来怎么用还不确定、以模型训练为主,先有湖;一份数据既要喂模型又要出报表、不想反复搬数据,上湖仓一体;数据量很小、就几张表,别折腾这些,关系型数据库足够。

对普通职场人的意义:你每天早上看的日活报表,多半出自仓库;而“为什么给我推这个”,靠的是湖里那堆原始行为日志训练出来的模型。它们不是替代关系,是分工——混淆这一点,才会出现“把日志塞进报表库”和“拿数据湖当 BI 数据库”这两类典型事故。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。