二、数据仓库笔记之数仓分层

2、数据仓库分层

2-1、分层的简单介绍

一般大数据数据仓库的分层结构如图所示:

在这里插入图片描述

其中,ODS层是近源层,一般是同步业务端数据,数据不进行更改(但是可以扩充字段,比如更新时间、来源等);CDM层是用来进行数据清洗、数据分析以及建模;ADS层存储的是清洗好的数据,对外提供数据服务,狭义上也称为数据集市层。

CDM层又分为数据明细层DWD和数据汇总层DWS层:

  • DWD层存储的是各种经过维度退化进行简单汇总的零散明细表,也就是各个模块的明细表,满足三范式。
  • DWS层存储的是各个明细表join一起得到的大宽表(目的是在进行数据分析时直接对宽表进行分析,不用再频繁Join),不满足三范式了。

2-2、DWD层与DWS层的关系与区别

区别:

数据明细层DWD层存储的是经过维度退化后进行简单汇总

明细表,何为维度退化?

维度就是一个组织方式,比如时间、分类、地域等,维度退化其实也就是简单汇总的过程,就是通过添加字段的形式,关联维度表形式一张表。比如,目前有四张表,分别是商品表、一级分类表、二级分类表、三级分类表,如图所示

在这里插入图片描述

那么,这里的维度退化,就指的是将主表关联维表最后形成一张表,也就是在商品表加五个字段,分别是:一级品类名称、二级品类id、二级品类名称、三级品类id、三级品类名称,如图所示

在这里插入图片描述

这样做的好处是在后续关于商品信息表的操作时,直接使用经过维度退化的轻度汇总的明细表,减少join操作(大数据的join操作会进行大量数据移动,效率较低)

数据汇总层DWS层,是按照主题进行计算汇总,形成的宽表

首先,何为主题?

主题就是某一个需求或目标,比如我们要获取所有交易信息的汇总表,那么主题就是交易信息,如图所示:

在这里插入图片描述

明细表有商品信息表、支付方式表、交易场景表,经过join连接,汇总得到相应主题的大宽表,也就是数据汇总表DWS的交易信息表。

这里的DWD的表与DWS表的区别如下:

  • DWD的表是某一业务的明细表,存储的数据仍然符合3NF,目的是记录明细数据。
  • DWS的表面向的是某一主题的大宽表,由DWD的明细表连接汇总而来,目的是方便针对业务场景进行数据分析得到上层应用的相关数据。
关系:

DWS宽表是针对某个场景,由多个DWD表组成而来,其实也叫宽表模型。(在DWD建模一般是星形模型,也就是事实表关联多个维度表)。

2-3、ADS层的介绍

ADS是数据应用层,狭义上也是数据集市层,存储的是处理好的数据,为上层应用提供数据服务。这里存在一个问题,数仓是离线批处理,较慢,上层应用需要的是即时查询,那么如果数据保存在数仓中,就无法满足应用,那么ADS层数据需要存储在哪里?

ADS层数据可以选择其他产品,比如并发查询可以存储在Hbase中,搜索检索可以存储在ES中,聚合查询可以存储在Druid中,或者有些场景可以存储在PG或Mysql关系数据库中。

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值