问题
我发现有的公司把宽表和明细层多同步一份到集市层给应用侧直接调用。不允许应用方调用仓内明细表和宽表的。大厂也这么搞吗?
回答
建议采用语兴这里新数仓模型建设,我们在这里分为5层,即ods、dwd、dwm、dws、app(即原来的ads),
(1)ods还是与源头数据保持一致,
(2)dwd这里做了一些变化dwd不再做维度退化只做code到name的转化并且code name都带上 同时做数据过滤,dwd只存放每个事实环节举个例子招聘这个数据域包括岗位发布、简历、面试、招聘体验问卷、offer、被调等流程这里的事实只放其中一个环节的内容
(3)dwm这里将大改,dwm会将dwd流程关联在一起同时做统一的维度退化,保障了每个dwd事实表维度不再冗余,同时将全流程明细加工出来方便后续ads dws访问数据表,同时从dwm开始则为业务(数分、数据产品等)提供数据查询
,让业务可以直接看到全流程内容,理解为全流程明细宽表
(4)dws则没变化还是统一指标口径,放入业务需要的维度汇总(尽可能只放需要的维度),否则可能因为group by 维度膨胀导致后续难用,同时按照颗粒度、周期进行指标汇总
(5)app则作为大宽表与小宽表模式,小宽表尽可能服务于一次性使用的看板或者专题分析,大宽表则可以继续引用dwm全流程明细表、dws指标汇总表,实现app层大宽表可以支持多块业务
同时对于夸主题域需要建设综合分析主题域去单独存放,例如存放员工从招聘到试用期情况