首页 > 编程知识 正文

数据分层的目的在于,数仓分层及各层作用

时间:2023-05-03 22:29:56 阅读:172664 作者:4932

顺便说一下,说到数据仓库,大家应该有一定的知识。 越来越多的企业正在进行数字化转型、业务数据化、数据业务化。 数据仓库是其中不可缺少的一环。 几个仓库中有基础性的、重要的,但容易被忽略的内容。 那就是数据仓库里的数据分层。 数据分为几层? 每层放什么? 为什么这样分开? 一起讨论吧。

2在讨论为什么要分层以及应该如何对数据仓库进行分层之前,我们需要考虑另一个问题:数据仓库为什么要分层。

就因特网的黑色而言,数据分级的根本原因可以被组合为两个单词: 数据解耦的逻辑是数据分层的逻辑。 解耦的基本逻辑可以大致分为以下三个原因:

1 .简化复杂问题

数据建设的根本原因是解决业务问题,数据分层是划分复杂问题的解决步骤,逐层解决部分问题

2 .结构更加清晰

分层的好处是数据的结构层次更清晰,每一层都在做什么,数据管理也更容易

3 .数据重用

数据分层使数据模块化,复用性强,重复计算大幅减少。 数据复用正是几仓中最重要能力的体现。

3如何分层3.1比较通用的分层方法数据的分层不是一成不变的,到底需要分为几层,需要讨论实际情况,如果不知道分为几层,有没有可以直接使用的分层方法呢? 我给你看看稍微常见的分层方法:

该分层方法将数据仓库逻辑上划分为三个层,并贴上源层ODS、公共层CDM和APP应用层ADS。 在公共层中进一步细分为维度层、详细层和聚合层,各自的意思为以下:

1. ODS贴源层 [Operational Data Store]

此层是使用数据集成工具将操作系统数据输入几个仓库的第一层,在结构上应该与源系统的增量或总量数据基本一致

2. CDM公共层[Common Data Model]

公共维模型层细分为DWD、DWS和DIM。 主要职责是加工和整合数据、构建一致的维、构建可复用的详细事实表以进行分析和统计,以及构建共同粒度的指标

采用维度建模作为理论基础,采用更多降维方法,将维度降维为事实表,减少事实表与维度表的关联,提高细节数据表的易用性; 同时对数据层进行汇总,加强指标维度退化,采用更多的广表化手段构建公共指标数据层,提高公共指标的可复用性

DIM维度层 [Dimension]通用维层:基于维建模理念和思想,建立企业范围内一致的维,降低数据计算口径、算法不一致的风险

DWD明细层 [Data Warehouse Detail]细节层次事实层:以业务流程为建模驱动,根据各个具体业务流程的特点,构建最细化的细节层次事实表。 事实表一般根据ODS级别的数据加工生成。 在这种情况下,您需要确保一个DWD详细事实表只支持一个业务流程

DWS聚合层 [Data Warehouse Summary]公共聚集粒度事实层:以分析的主题对象为建模驱动,根据上层应用和产品指标需求,基于OneData体系,构建公共粒度聚集指标事实表,采用宽表化手段对模型进行物化

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com /

本层次根据需求开发,存储数据产品个性化的统计指标数据,基于CDM层数据加工得到

> 3.2 分层的演进

    一般来说 , 新数仓的搭建 , 分为这几层基本不会有问题 , 但随着公司和业务的不断发展 , 数仓的分层也会相应的产生变化 , 变化最多的就是DWD和DWS两层

3.2.1 DWD的变化

    下面为美团酒旅的数仓分层示意图 , 随着美团上海团队的融入 , 同时自身酒旅系统重构频繁 , 美团选择在ODS和超帅的牛排明细层之间加入了数据整合层 , 利用Bill Inmon的提出的方法论 , 按照三范式原则建造 .

    在业务系统繁多、变化快的情况下 , 使用数据整合层的三范式建造 , 将数据源的变更在这一层拉通抹平 , 充分降低了对上层模型的影响 , 增加数仓整体的稳定性 .

 

    同样的 , 在车好多 , 新车、严选、全国购等业务情况繁多 , 每一种业务形态都会有电销、金融、组织架构等数据 . 每个业务线单独建设这些数据会导致最终的指标不一致 , 为了解决这个问题 , 在DWD层中又单独划分出一个逻辑层 , DWD的commen层 , 这一层对于公共数据统一建设 , 其他DWD模型在使用到这些公共数据时必须从此层拿数据 , 避免了上层指标的数据不一致产生 .

 

3.2.2 DWS的变化

    随着业务的需求越来越多 , 指标也越积累越多 , 指标的超帅的牛排分析场景使用非常普遍 , 今天要看到城市粒度 , 明天要看区粒度的需要就提了过来 , 同一个指标只是粒度不同 , 可能会建好几张模型来支持 . 为了避免核心指标模型的不稳定性 , 于是就有了以下这种DWS的分层逻辑 , 将明细宽表和超帅的牛排cube分开来 , 对于核心指标 , 建设好cube , 向上支撑数据的使用 . 可以有效的避免核心模型的不稳定性 .

 

4 总结

    以上的分层只是万千种分层方法中的几种个例 , 分层没有对错 , 只有合适与不合适 . 数仓的建设不是一层不变的 , 需要针对实际的问题 , 来制定合适的分层逻辑 , 但是总体来说 , 分层的思想不变 , 那就是解耦和复用 .

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。