前面我们已经完成了:
业务熟悉 分层策划 模型选择 指标拆分
那么接下来我们就开始表设计了,这里的表设计的话我们一般会首先设计DIM层,因为DIM层是维度枚举层。此时会把相关所有的业务枚举都统一转换一下,然后放到DIM层进行存储。
接下来涉及到的层就是DWD层的表。我们在前面介绍过,DWD层是轻度汇聚层,他的主要作用是从ODS层进行轻度的汇聚,提取普通业务所需要的数据表。然后再是网上的dws,ads层等。所以我们本文来介绍下表设计相关的原则。
在设计表的时候,我们需要考虑如下的情况:
1、确定相关的主题,比如当前的表是属于哪个领域的? 2、确定相关的指标,例如业务要求的指标是什么样的,是否有不需要的指标? 3、当前的表如何设置分区策略。 4、当前表数据存储是否有TTL淘汰策略。 5、当前表适用什么样的压缩。 6、设计表的时候一定要参考相关的模型。
所以基于上诉的原则来说,我们在设计表的时候,一定要做如下的思考:
1)业务过程
当前表相关的模型,是否可以记录某个业务过程事实。
2)声明粒度
当前表涉及到的模型,是否例如如何,是否需要拆分,是否需要整合,通过join关联是否能阐述某个业务的过程事实。
3)确定维度
当前的表是否可以满足某一个业务属性,常定的维度有:地理维度,时间维度等等。
最后对于整个模型相关的表,一定需要满足如下的条件:
1、可以详细的记录某个业务的全过程 2、对于事件中的粒度相对来说尽量最细。 3、只有在发生事件的时候才会产生记录。 4、可以清晰表达业务数据的周期性 5、等等
最后补充一下:
1、表设计一定要参考模型。 2、表要充分的体验事实。 3、表关联模型可以清晰的反应业务流程。
还没有评论,来说两句吧...