数据仓库分层设计思想

网友投稿 1074 2022-11-21

数据仓库分层设计思想

数据仓库分层设计思想

数据分层好处如下:

ODS(Operational Data Store)层 - 操作数据层ODS 层,操作数据层,也叫贴源层,本层直接存放从业务系统抽取过来的数据,这些数 据从结构上和数据上与业务系统保持一致,降低了数据抽取的复杂性,本层数据大多是按照 源头业务系统的分类方式而分类的。一般来讲,为了考虑后续可能需要追溯数据问题,因此 对于这一层就不建议做过多的数据清洗工作,原封不动地接入原始数据即可。DW(Data Warehouse)层 - 数据仓库层数据仓库层是我们在做数据仓库时要核心设计的一层,本层将从 ODS 层中获得的数据 按照主题建立各种数据模型,每一个主题对应一个宏观的分析领域,数据仓库层排除对决策 无用的数据,提供特定主题的简明视图。DW 层又细分为 DWD(Data Warehouse Detail) 层、DWM(Data Warehouse Middle)层和 DWS(Data Warehouse Service)层。1 .数据明细层:DWD(Data Warehouse Detail)该层一般保持和 ODS 层一样的数据粒度,并且提供一定的数据质量保证,在 ODS 的基础上对数据进行加工处理,提供更干净的数据。同时,为了提高数据明细层的易用性,该层 会采用一些维度退化手法,当一个维度没有数据仓库需要的任何数据时,就可以退化维度, 将维度退化至事实表中,减少事实表和维表的关联。例如:订单 id,这种量级很大的维度, 没必要用一张维度表来进行存储,而我们一般在进行数据分析时订单 id 又非常重要,所以 我们将订单 id 冗余在事实表中,这种维度就是退化维度。2 .数据中间层:DWM(Data Warehouse Middle)该层会在 DWD 层的数据基础上,对数据做轻度的聚合操作,生成一系列的中间表,提 升公共指标的复用性,减少重复加工处理数据。简单来说,就是对通用的维度进行聚合操作, 算出相应的统计指标,方便复用。3 .数据服务层:DWS(Data Warehouse Service)该层数据表会相对比较少,大多都是宽表(一张表会涵盖比较多的业务内容,表中的字 段较多)。按照主题划分,如订单、用户等,生成字段比较多的宽表,用于提供后续的业务 查询,OLAP 分析,数据分发等。在实际业务处理中,如果直接从 DWD 或者 ODS 计算出宽表的统计指标,会存在计算量 太大并且维度太少的问题,因此一般的做法是,在 DWM 层先计算出多个小的中间表,然后 再拼接成一张 DWS 的宽表。由于宽和窄的界限不易界定,也可以去掉 DWM 这一层,只留 DWS 层,将所有的数据在放在 DWS 也没有问题。4 .DM(Data Mart)层 - 数据集市层数据集市层,也可以称为数据应用层,基于 DW 上的基础数据,整合汇总成分析某一个 主题域的报表数据。主要是提供给数据产品和数据分析使用的数据,一般会存放在 ES、 PostgreSql、Redis 等系统中供线上系统使用,也可能会存在 Hive 或者 Druid 中供 数据分析和数据挖掘使用。比如我们经常说的报表数据,一般就放在这里。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spark Transformation算子->union
下一篇:维度建模-三大模型
相关文章

 发表评论

暂时没有评论,来抢沙发吧~