一、赶鸭子上架学建模
10年前大学只学了一些范式建模皮毛,工作后第1个月,领导就让我用维度建模来构建数仓集市。那时我憋红了脸尴尬的问他,什么是维度建模?领导也愣住了,然后开始边吐槽边教。
刚毕业那会内心自尊心又强,不敢轻易问问题,于是顶着压力翻书自学建模。
二、面试必考
几乎所有数仓候选人在面试的时候,都会说负责或参与了数仓建模,那我就认为读者老爷们已有一定的功底,不瞎填充以下名词解释滥竽充数。
-
维度模型Kimball
-
事实表、维度表
-
星型模型、雪花模型
-
维度共享、维度退化
-
事实表、拓展表
-
缓慢变化维SCD
-
命名规范
-
......
让我们直接从业务流程开始。
三、业务背景
Grab是东南亚领先的超级应用平台,提供网约车、外卖等日常生活服务。2021年Grab出行、配送业务在东南亚市占率均列第一,市占率分别为72%、50%。
四、开始建模
建模的标准步骤:
-
梳理业务过程
-
确定粒度
-
确定维度
-
设计事实
1.业务过程
模型设计首先覆盖核心业务过程,而不是所有业务过程。提前定义这些流程,有多少个事实表等等。其中网约车的关键流程包括:
接下来就需要和分析师、产品确定相关业务目标,我们0-1的数仓建设MVP版本都是围绕最初始的核心目标展开。例如:
-
热门目的地(E.g.机场、公园等)的乘车情况;
-
司机完成行程,乘客进行评价情况;
-
每日的乘车次数,计算高峰期的平均价格;
-
......