数据仓库维度建模流程

掌握了数仓的相关概念和分层后,便可着手开始实际建设数仓。由于ODS层的数据是保持原貌从业务数据库中直接拉取,因此重点考虑DW层和APP层的事实表建设。
Kimball对于维度模型设计提出了四个步骤:选择业务过程、声明粒度、确定维度和确定事实,但是由于目前业务和技术的发展,不可避免地需要把一些维度冗余进事实表中,因此在建设事实表的过程中还需要考虑把哪些通用的维度冗余进去。

1、选择业务过程

与其说选择业务过程,不如说理解清楚需求(事实表)。当从零开始构建数仓时,需要在熟悉业务流程的基础上选择最重要、易实现、对下游数据影响大的业务过程。而当数仓的具备一些最基础的中间表后,无论是业务方从业务需要的角度,还是数仓同学基于整体规划的角度,或者是在建表的过程中发现了某些坑需要去填,其本质都是一个个对数仓的需求(事实表),需要在理清需要的事实表后不断完善和丰富数仓的内容。

2、声明粒度

即每行是什么含义。在DWD层,其粒度往往是最小粒度,如表中每一行是不可再细分的订单维度、用户的每次操作记录等。而在DWS层,由于会进行一定程度的聚合,因此其粒度要较DWD层大,如每个品类、每个店铺、每一天的相关聚合信息。

3、确定维度

即表中所需要包括的环境信息,如类型、地区、日期、时间等维度。

4、确定事实

表中需要度量的属性(字段),如订单事实表中的金额、数量等,事实与维度共同构成了表中的所有列。一些不可加事实,如比率,记得要拆成可加事实,方便下游了解计算过程以及进行二次加工。

5、冗余维度

完全把事实表和维度表拆开,这是不现实也不符合效率的,因此建设过程中需要把一些通用高频的维度冗余进事实表中,以空间换时间的方法提升效率。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值