数据仓库为何分层,各层作用?

优秀的分层设计能够让整个数据体系更易理解和使用

为什么要设计数据分层?

数据有秩序地流转,数据的整个生命周期能够清晰明确被设计者和使用者感知。简单说就是使数仓整体看起来层次清晰、依赖关系直观。

因此,我们需要一套行之有效的数据组织和管理方法来让我们的数据体系更有序,这就是谈到的数据分层。数据分层并不能解决所有的数据问题,但是,数据分层却可以给我们带来如下的好处:

  • 数据结构清晰:每一个数据分层都有它的作用域和职责,在使用表的时候能更方便地定位和理解
  • 避免重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算
  • 统一数据口径:提供统一的数据出口,统一对外输出的数据口径
  • 复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层解决特定的问题
  • 数据隔离:不必改一次业务就需要重新接入数据。另外,随着业务的变化,只需要调整底层的数据,对应用层对业务的调整零感知。

常用数仓分层架构

  1. 源数据层(ODS):此层数据无任何更改,直接沿用外围系统数据结构和数据,不对外开放;为临时存储层,是接口数据的临时存储区域,为后一步的数据处理做准备。
  2. 明细数据层(DWD):是业务层与数据仓库的隔离层,此层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)、转换等操作后的数据。该层一般保持和ODS层一样的数据粒度,并且提供一定的数据质量保证。同时,为了提高数据明细层的易用性,该层会采用一些维度退化手法,将维度退化至事实表中,减少事实表和维表的关联。另外,在该层也会做一部分的数据聚合,将相同主题的数据汇集到一张表中,提高数据的可用性。
  3. 服务数据层(DWS):又称数据集市层或宽表层。按照业务划分,如流量、订单、用户等,生成字段比较多的宽表用于提供后续的业务查询,OLAP分析,数据分发等一般来讲,该层的数据表会相对比较少,一张表会涵盖比较多的业务内容,由于其字段较多,因此一般也会称该层的表为宽表。
  4. 数据维度层(DIM):存放企业公共维度数据。高基数维度数据:一般是用户资料表、商品资料表类似的资料表。数据量可能是千万级或者上亿级;低基数维度数据:一般是配置表,比如枚举值对应的中文含义,或者日期维表。数据量可能是个位数或者几千几万。
  5. 数据应用层(DM):数据应用层,同业务强相关的定制化报表层。
  • 9
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据仓库中常见的分层包括三层:采集层(又称为数据源层)、数据存储层和数据应用层。 1. 采集层/数据源层:这一层主要负责从各种数据源获取原始数据,并将其进行清洗、转换和集成,以提供给数据存储层使用。在这一层中,通常会使用ETL(Extract-Transform-Load)工具来实现数据的抽取、转换和加载。 2. 数据存储层:这一层主要负责存储处理后的数据,并提供数据管理和查询功能。数据存储层通常包括数据仓库、数据集市、数据湖等多种形式,以满足不同的数据存储需求。 3. 数据应用层:这一层主要负责将数据存储层中的数据进行处理和分析,并生成各种报表、图表和数据分析结果,以支持业务决策和管理。数据应用层通常包括BI(Business Intelligence)工具、数据挖掘工具、数据分析工具等,以实现数据的可视化和分析。 每一层的作用如下: 1. 采集层/数据源层:负责从各种数据源中采集数据,并对数据进行清洗、转换和集成,以实现数据的规范化和整合。采集层的作用是将各种异构数据源中的数据进行标准化处理,为数据存储层提供高质量的数据。 2. 数据存储层:负责存储处理后的数据,并提供数据管理和查询功能。数据存储层的作用是将采集层处理后的数据存储在数据仓库、数据集市或数据湖中,以供数据应用层进行分析和处理。 3. 数据应用层:负责将数据存储层中的数据进行处理和分析,并生成各种报表、图表和数据分析结果,以支持业务决策和管理。数据应用层的作用是将数据可视化和分析,以便用户更好地理解数据并做出有意义的决策。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值