数据域 vs 主题域:数仓建模面试必问,但90%的人都没讲清楚
前言

别笑,这真的是高频翻车题。
在数仓面试考察建模理论这一块时,数据域和主题域的区别几乎成了必问问题。但奇怪的是,即便是在企业里干了三五年的同学,一聊到这两个概念,也常常含糊其辞。
先看定义
- 数据域:是从业务过程出发,对数据进行的分类管理,解决「数据如何管」的问题。
- 主题域:是从分析视角出发,对数据进行的逻辑划分,解决「数据如何用」的问题。
大家看完定义之后,可能还是无法对应到真实数仓建设中来,我们直接上企业真实案例!
假设用户完成一次完整购物:登录 -> 浏览商品 -> 加购物车 -> 下单 -> 支付 -> 卖家发货 -> 买家收货 -> 评价/退款
在整个购物的过程中,系统背后会产生大量的原始数据。为了有序管理,我们会把它们按业务过程进行归类——这就是数据域:
- 用户域:用户信息
- 流量域:登录、浏览
- 商品域:商品信息
- 交易域:下单、支付、退款
- 物流域:发货、收货
我们一定听过老板这样问:哪些商品卖得好?为什么卖得好?哪些用户是高价值的?
这些问题,没法依靠单一数据域来回答。你得把商品域 + 交易域 + 物流域 的数据聚合起来,构建一个面向分析目标的逻辑单元——这就是主题域,比如商品分析主题域,整合商品信息、交易信息、物流信息等
再讲话术
不管是数据域还是主题域,本质上都是对数据的分类管理
- 数据域从技术视角出发,按业务过程进行抽象,主要应用在DWD/DIM层,专注数据基建。
- 主题域从业务视角出发,围绕分析目标整合多数据域的数据,主要应用在DWS/ADS层,专注业务分析。
查看16道真题和解析