一、前言
本文是《***分布式数据仓库最佳实践***》视频课程的学员答疑实录,学员答疑过程中,针对共性问题和具有代表性的问题,分享在此,算是立此存照。课程大纲见:《分布式数据仓库最佳实践-目录篇》,课程地址:网易云课堂。
事实表设计:累积事实表,是否需要拆分成不同的事实表。
**关键词:**业务系统中的累积事实表,数仓中是否需要拆分成不同的事实表;
详情:
胖哥,你好,想问下如果业务系统的表是一张累积事实表(交易可能有多个过程,加入购物车、下单、支付、评论,但是业务系统是一张大表),在数仓的时候需要将其拆分成多张事务事实表吗?
关键词:需要;
详情:
学员 2019/2/20 14:33:40
目前是将其拆分
便于统计,但是发现因为很多维度都是相同的,除了存储多些,其他到时没有影响
胖子哥 2019/2/20 14:34:26
这里面有一个判断标准:数仓是面向分析过程的,提供的是尽可能多的场景的覆盖。
学员 2019/2/20 14:34:40
好的
胖子哥 2019/2/20 14:34:41
这里面涉及另外一个问题,性能优化。
学员 2019/2/20 14:34:58
分成多个事实表对于后面汇聚是容易的
胖子哥 2019/2/20 14:35:40
所以。1.最细粒度,必须拆分;2.从性能优化的视角,可以考虑做融合事实表(通常叫宽表);二者同时存在。
1.是基础,覆盖分析型的场景和需求;2.是特定目的的特定应用
学员 2019/2/20 14:37:23
我现在是单事实表和累积事实表并存,累积便于去进行漏斗这样汇聚
主要是时长漏斗
胖子哥 2019/2/20 14:37:45
可以。
好多时候,可以逆推,当你发现自己的设计不好用的时候,就是需要反思设计的时候。
学员 2019/2/20 15:10:47
可以
胖子哥 2019/2/20 15:11:08
得存档,否则过后就忘。
学员 2019/2/20 15:14:12
还有个问题,就是建事实表时,事实表除了维度ID,还会退化维度一些关键查询便于识别的属性,例如产品ID、产品名称,这种操作可行吗
胖子哥 2019/2/20 15:14:40
退化维度是合理设计得一部分。
没问题。
本文是《***分布式数据仓库最佳实践***》视频课程的学员答疑实录,学员答疑过程中,针对共性问题和具有代表性的问题,分享在此,算是立此存照。课程大纲见:《分布式数据仓库最佳实践-目录篇》,课程地址:网易云课堂。
作者:张子良
出处:http://www.cnblogs.com/hadoopdev
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。