星型模型:数据仓库架构的常青树,还是被低估的过时方案?

很多刚入门数据行业的新人,第一堂课学维度建模,十有八九都会先撞上星型模型。 现在湖仓一体、数据编织这些新概念火得发烫,不少自媒体张嘴就说星型模型是上个世纪的落后产物,迟早要被丢进历史垃圾桶。 真的是这样吗?

星型模型到底解决了什么核心痛点?

早在上世纪数据仓库萌芽阶段,业内主流的数据库设计还是三范式,核心思路是砍掉所有冗余,保证数据一致性。 问题来了,做分析查询的时候,你要拉业务数据,得关联七八个甚至十几个表,别说普通业务人员,资深DBA写SQL都头疼,跑一次报表等大半天,根本没法用。 星型模型的出现,直接戳破了这个僵局。 它的核心逻辑非常简单:把核心业务的度量数据存在事实表,放在整个结构的中心,再把和这个业务相关的各类维度(比如日期、用户、区域、产品),分别做成独立的维度表,围绕在事实表周围。整个结构画出来,就像一颗发光的星星,这也是名字的由来。
数据仓库星型模型结构示意图
数据仓库星型模型结构示意图
说白了就是一句话:以少量冗余换查询效率。 牺牲一点点存储多存几份重复维度数据,换的是查询的时候只需要关联少量维度表,不用做复杂的多表连接,速度能提好几倍。更爽的是,市面上几乎所有自助BI工具,天生就适配星型模型,业务人员拖拽几下就能出报表,不用麻烦技术部改SQL。 别小看这个设计,它直接把数据仓库从少数技术专家的玩具,变成了业务团队能日常用的分析工具,这一步足足推动了数据产业化十多年。

湖仓一体浪潮下,星型模型的位置变了吗?

现在存储成本跌到白菜价,大家都把原始数据往数据湖里扔,不少人喊着“不需要提前建模,Raw数据直接查”,听起来很美好对不对? 说实话,我见过至少十家踩坑的创业公司。攒了几十TB原始数据扔湖上,业务要上个月的分区域用户留存,两个工程师写了一天SQL,跑出来三个不同的结果,问哪个对,谁也说不清楚。 为什么会这样?没有统一的维度定义。同叫“付费用户”,运营算的是付过一块钱的,财务算的是确认收入的,口径不一样,结果当然不对。 星型模型最核心的价值,从来不是那个星形的结构,而是强制统一维度口径。所有做分析的人都用同一个日期维度、同一个用户维度,出来的结果不可能打架。 现在国内头部互联网公司做湖仓一体,哪一家真的完全扔掉星型模型了?我了解到的情况是,绝大多数只是把建模的过程从“提前做”改成了“用的时候做”,真到了分析层,还是会统一成星型结构适配BI和报表。某头部电商的自助BI平台,公开信息显示超过90%的日常分析,底层还是跑在预先构建的星型模型上。
湖仓一体架构星型模型应用示意图
湖仓一体架构星型模型应用示意图
市面上不少新工具喊着“自动建模取代星型”,拆开来看看,本质就是把原来人工拉表建维度的过程自动化了,核心逻辑还是星型那一套,只不过换了个包装营销而已。

星型模型的边界和未来3年的产业趋势

星型模型的边界和未来3年的产业趋势
星型模型的边界和未来3年的产业趋势
当然,星型模型不是银弹,它有非常明确的技术边界。 遇到复杂的多对多关系,比如一个订单对应多个付款用户,硬套星型模型就会出现数据统计错误,这时候要么改雪花模型,要么就得打平做宽表。现在行业里主流的做法,是把星型模型宽表化,把常用维度直接打平到事实表,查询速度更快,但也带来新问题:宽表动则上百个列,存储成本飙升,改一个维度全表更,牵一发动全身,维护成本很高。 很多人骂星型模型不好用,大多是用错了场景。把所有维度不管用不用都塞进去,最后事实表膨胀到几个TB,查询速度当然上不去,这哪里是模型的问题,是设计的人懒。 还有一个容易被忽略的治理问题:不少数据团队建星型模型,都是技术人员闭门造车,维度定义不和业务对齐,建完了放那里落灰,白白浪费存储和人力,最后变成数据治理的大包袱。 说回未来,未来3-5年,星型模型会怎么走? 首先,它绝对不会消失,反而会在中小微企业的数字化转型里普及开来。现在BI工具越来越下沉,中小公司要的不是花里胡哨的新概念,是快点出报表,快点看到业务数据,星型模型学习成本低,适配几乎所有主流BI工具,是性价比最高的选择,没有之一。 其次,人工建模的环节会被逐步自动化,但是星型模型的核心逻辑不会变。现在已经有不少数据平台在做自动识别业务维度,自动生成星型模型的功能,本质是降低用星型模型的门槛,不是换掉它。 最后,实时数仓场景下,星型模型会演化出实时版本。原来的维度是静态的,现在越来越多业务需要实时看数据,维度也要实时更新,已经有不少厂商在做实时星型模型的优化,这个方向接下来会有不少新产品出来。 不过话说回来,如果你做的是大模型预训练这种非结构化数据处理,那确实用不着星型模型。但对于90%以上的企业经营分析、业务报表场景,星型模型还是成本最低、效率最高、最稳定的选择。 技术圈从来都爱追新,好像不用新概念就是落伍。可实际上,能活几十年的技术,哪一个不是靠真本事解决真问题?星型模型能从90年代活到今天,靠的不是它完美,是它刚好戳中了数据分析最核心的需求:给我统一的口径,给我快的结果。 就这一点,接下来十年,它还能打。

作者|大讲堂

排版|大讲堂

审核|安然

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:星型模型:数据仓库架构的常青树,还是被低估的过时方案?
文章链接:https://www.lfdjt.com/info_23_23796.html