DWM(Data WareHouse Middle)数据中间层,该层会在DWD层的数据基础上,对数据做轻度的聚合操作,生成一系列的中间表,提升公共指标的复用性,减少重复加工。一般而言,针对dwm层的设计开发是建立在,积累一定数量DM和APP相关需求后,将设计到重复的指标和维度下沉到DWM的表中,因此在数仓建立初期,可能会有直接跳过DWM来开发的情况,但是随着相似的需求不断的增加,DWM的开发势在必行,而到了这种时候,我们可以以历史需求为参考,思考那些指标和维度是业务真正需要的,从而设计相应的表,避免开发大量无用的表,消耗不必要的存储和计算资源。在该层中的汇总表根据维度数量不同分为2种,一种是单一维度轻度汇总表,另一种是多维度轻度汇总表。
1.单一维度轻度汇总表
针对单一维度下的轻度汇总表。比如在电商场景下,想要了解每个城市的售卖情况。就可以以城市为主要维度开发指标,后续所有与城市相关得分交易汇总指标都可以放到该表中。在单一维度的轻度汇总表中我们可以将各种统计类型的指标都放到这一层来计算,并且设计灵活,开发完成后如果想要增加其他指标,可以直接追加比较容易。总而言之,该类表的主要特点是:维度单一,统计指标丰富,迭代灵活。
2.多维度轻度汇总表
当我们不满足于某一维度下的指标时,单一维度的汇总表可能就无法使用了。比如说每个城市下新老用户的购买情况。当然,如果通过DWD层的相关表去计算也是可以的,但是可能导致大量的重复计算,这个时候就需要一个多维度的轻度汇总表。把通用的维度和高频汇总