数据分层的目的:
1、清晰的数据结构:每一层的作用不一样,目的是为了更好的定位和理解数据
2、方便数据血缘追踪,减少重复性的开发
3、把复杂问题简单化
4、维护方便
数据仓库如何分层:
1.ODS层:Operate data store,贴源层(原始数据层、操作数据层)
数据来源:业务库,埋点数据,消息队列、接口数据 与业务库表结构一致,表名可以换,但是一般情况下会在原业务库表名前面添加库前缀,或自定义前缀。 ODS层采用建设方式原则:直接采集业务数据,不做转换处理,数据保留时间根据业务具体确定。
数据采集:第一天全量采集,第二天再次全量采集,前一天的数据不保留。
优化:大表做增量
2.DWD层:Data WareHouse Detail 数据明细层
数据来源:只能是ODS层
建设方式:根据ODS层数据按主题性进行归类建模。DWD,主要是将从业务数据库中同步过来的ODS层数据进行清洗和整合成相应的事实表。事实表作为数据仓库维度建模的核心,需要紧紧围绕着业务过程来设计。在拿到业务系统的表结构后,进行大概的梳理,再与业务方沟通整个业务过程的流转过程,对业务的整个生命周期进行分析,明确关键的业务步骤,在能满足业务需求的前提下,尽可能设计出更通用的模型。
四个基本概念:维度,事实,指标(度量),粒度。
3.Dim层: Dimension 维度层
DIM(Dimension)层是数据仓库的关键组成部分之一,它主要负责存储维度数据和规则,使数据仓库中的数据更易于理解和分析。
4.DWS层:Data WareHouse Servce 数据服务层(数据汇总层)
对明细数据进行预加工,汇总,与关联,建立多维立方体的数据量,提高查询效率。
5.ADS层:Application Data Store 数据应用层
服务于终端用户,高度汇总。