简单叙述数仓分层?

一般情况下,将数据模型分为3层

源数据层ODS

存放的是接入的原始数据。

经过ETL之后装入本层,大多是按照源头业务系统的分类方式而分类的。为了考虑后续可能追溯数据,因此对这一层不建议做过多的数据清洗工作,原封不动接入元数据即可,至于数据的去噪,去重,异常处理等过程可以放在后面的DW层。

数据仓库层DW

重点设计的数据仓库中间层数据,在这里ODS层获得的数据按照主题建立各种数据模型

DW又细分

数据明细层:DWD(Data Warehouse Detail)

该层一般保持和ODS层一样的数据粒度,并且提供一定的数据质量保证,同时为了提高数据明细层的易用性,该层会采用一些维度退化手法,将维度退化到事实表中,减少事实表和维度表的关联。另外在该层也会做一部分的数据聚合,将相同主题的数据汇集到一张表中,提高数据的可用性。

数据中间层:DWM(Data Warehouse Middle)

在DWD层的数据基础上,对数据做轻度的聚合操作,生成一系列的中间表提升公共指标的复用性,减少重复加
工,直观来说,就是对通用的核心维度进行聚合操作,算出相应的统计指标。

数据服务层:DWS(Data Warehouse Service)

又称为数据集市或者宽表,按照业务划分,例如流量,订单,用户等,生成字段比较多的宽表,用于后续的业务查询,OLAP分析,数据分析等。

数据应用层APP:面向业务定制的应用数据

主要提供给数据铲平和数据分析使用的数据,一般会放在ES,MYSQL,Redis等系统供线上系统使用,也可以放在 Hive中供数据分析和数据挖掘使用。

补充:维表层 Dimension

高基数维度数据:一般是用户资料表,商品资料表类似的资料表。数据量可能是千万级或者上亿级别。

低基数维度数据:一般是配置表,比如枚举值对应的中文含义,或者日期维表。数据量可能是个位数或者几
千几万。

回复

我来回复
  • 暂无回复内容

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部