数据建模已死,而且死得悄无声息!15年工程师捶胸顿足


一位资深数据工程师痛陈数据建模在现代数据栈中被边缘化的现实,呼吁回归严谨的数据设计思维,重建属于这个时代的建模方法论。

在数据工程的世界里,有个叫丹尼尔的男人,他是那种会在凌晨三点 SSH 进服务器、嘴里叼着半根冷掉的烟、一边敲 Perl 脚本一边骂云厂商的老派工程师。他的博客叫《一个数据老炮的自白》,名字土得掉渣,但每一篇都像一记耳光,扇在那些只会用 Python 调包的新一代数据工程师脸上。

最近他在自己博客上发了一篇题为《数据建模已死》的文章,语气暴躁、满嘴脏话,却像一颗深水炸弹,在整个数据圈炸出了层层涟漪。这不是一篇学术论文,也不是什么厂商白皮书,而是一个经历过数据仓库黄金时代的老兵,在目睹现代数据栈野蛮生长后发出的怒吼与哀悼。

他说数据建模死了,而且死得悄无声息:不是被技术淘汰,而是被整个行业集体遗忘。

如今的年轻人张口闭口就是 Databricks、Snowflake、Medallion 架构,动不动就在 Jupyter Notebook 里跑 Spark 任务,仿佛只要有无限算力和对象存储,就能把一堆乱七八糟的 JSON 文件变成企业级数据资产。

他们不知道什么是第三范式,不明白星型模型为何而生,更不懂事实表的粒度究竟意味着什么。

对他们来说,数据建模是个过时的词,就像软盘驱动器或者 IE 浏览器。

可丹尼尔记得那个年代。那是 Kimball 还被奉为神明的年代。每一个数据项目启动前,团队都要围坐在会议室里,白板上画满维度表和事实表之间的连线,争论某张表的粒度到底是按订单还是按明细行。

那时候建模不是可选项,而是必经之路。你得先想清楚数据怎么组织,才能决定怎么存储、怎么查询、怎么服务业务。数据建模是数据世界的建筑蓝图,没有它,一切高楼都是危楼。

但这一切随着数据湖的兴起戛然而止。

AWS、Snowflake、Databricks 这些平台给了工程师前所未有的自由——你可以把任何格式的数据扔进湖里,不用定义 schema,不用设计主键,甚至不用关心性能。反正计算资源便宜,大不了后面再用 Spark 慢慢洗!

于是“先存再说”成了信条,“灵活 schema”成了挡箭牌,而数据建模则被扔进了历史的垃圾桶。

更可怕的是,这个行业失去了声音:
过去有 Kimball 的《数据仓库工具箱》,那是每个数据工程师床头必放的圣经。书里写得清清楚楚:维度建模怎么做,缓慢变化维度怎么处理,汇总层怎么设计。你可以不同意,但你不能无视。
而现在呢?除了乔·里斯那本《数据工程基础》还能勉强撑起一点体面,几乎没人再系统性地讨论现代数据环境下的建模方法论。
厂商们忙着推自己的架构,Medallion、Data Mesh、Delta Lake、Iceberg,各种术语满天飞,可谁来告诉你这些技术到底该怎么用在建模实践中?

丹尼尔举了个例子:事实表的粒度:
在 Kimball 时代,这是建模的第一原则。你必须明确回答“这张表的每一行代表什么”。是每一笔订单?还是每一个商品项?这个“粒度”决定了后续所有的聚合逻辑是否正确。
可到了数据湖 Lake House 时代,很多人连主键都不设了,分区成了唯一的设计考量:他们把数据按日期分区,再用 Z-Order 优化查询,以为这就叫“现代化”。
但丹尼尔说,他依然坚持给每张表加一个逻辑主键,哪怕底层数据库不强制约束。

因为这不是技术问题,是思维问题。你不定义粒度,就意味着你根本没想清楚业务含义。

他还痛斥那些把 Medallion架构当成数据建模替代品的人。青铜层接原始数据,白银层做清洗,黄金层出模型——听起来很美,可这根本不是建模,这只是数据流转的路径。真正的建模是要回答“我该保留哪些属性”“怎么关联不同实体”“如何支持多维分析”。这些思考在 Medallion 的三层数字流水线里被彻底稀释了。你可以在黄金层扔一张宽表,但这不等于你做了建模,就像把砖头堆成一堆不等于盖了房子。

最让他愤怒的是,整个行业对数据质量的漠视已经到了令人发指的地步。数据建模和数据质量本是一体两面,没有良好的结构设计,何谈数据可信?可现在呢?大家忙着搞 Data Catalog,搞 Lineage 可视化,搞自动化监控,却没人愿意花时间坐下来认真设计一张表。仿佛只要工具链够炫,问题就能自动消失。

丹尼尔冷笑:你们连表都建不明白,还谈什么数据治理?

他渴望一个“数据建模救世主”的出现!不是某个云厂商的首席架构师,也不是某个网红数据博主,而是一个真正懂业务、懂技术、敢说真话的人,能写出一本属于这个时代的《数据建模新约》。

这本书要直面现代数据栈的现实——我们确实不再用 Oracle RAC,也不再手工写 ETL 脚本,但我们依然需要思考数据的组织方式。
它要告诉我们,在 Iceberg 表上如何实现缓慢变化维度,在 Delta Lake 中怎样设计高效的分区策略,在没有外键约束的环境下如何保证数据一致性。

他说,现在的数据工程就像一场没有裁判的足球赛,人人拿着球乱跑,进球了就欢呼,没人管规则。而数据建模,本该是那套看不见却至关重要的规则体系。它不 flashy,不 trendy,但它决定了比赛能不能正常进行。

也许数据建模从未真正死去,它只是被喧嚣掩盖。

当所有人的注意力都被“实时”“湖仓一体”“AI 增强”这些词汇吸引时,那个安静坐在角落里画 ER 图的人,反而成了异类。

但丹尼尔相信,总有一天,我们会为今天的轻率付出代价——当报表结果互相矛盾、当模型无法支撑新需求、当数据团队沦为纯粹的搬运工时,人们才会想起,原来我们曾经拥有过一种叫“建模”的智慧。