首页 > 其他 > 详细

数仓理论

时间:2021-02-24 11:45:43      阅读:33      评论:0      收藏:0      [点我收藏+]

数仓分层

为什么分层:

1.复杂问题简单化,容易定位问题

2.减少重复开发,利用中间层数据,大大减少重复计算,增加数据复用性

3.隔离原始数据,将统计数据和原始数据隔离开

 

如何分层:

Ods层:存放原始数据

Dwd层:数据清洗(去空,脏数据,不合理数据),维度退化,脱敏等

Dws层:以dwd为基础,按天进行轻度汇总

Dwt层:以dws为基础,按主题(维度)进行汇总

Ads层:以dwt,dws为基础,为报表提供数据

数仓建模(主要在dwd层建模)

常用建模方式:

1.关系建模:三范式 -> 属性不可分割;不存在部分函数依赖;不存在传递依赖

好处:不会造成冗余数据,但常常需要进行多次join操作

 

2.维度建模:不遵循三范式,分为维度表,事实表

好处:join操作少,mr计算速度大大加快

 

维度表:主要是描述信息,比如对商品的描述。

事实表:用户做了什么,比如今天10点,用户买了一部手机。

特征:字段多为外键或可进行度量的值

 

数据仓库建模方式:维度建模

 

三大维度建模模型:

星型模型:事实表周围只有一层维度(join操作最少,冗余数最多)

雪花模型:两层维度以上

星座模型:多个事实表共用一个维度(星座模型和前两种模型不冲突)

 

一般采用星型模型,但呈现出来的是星座模型

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 

 

如何维度建模:

  1. 选择业务过程
  2. 声明粒度
  3. 确定事实表和维度表(事实表和ods层的表不会有太大差别)
  4. 维度退化(将与维度相关的表进行合并)

 

数仓理论

原文:https://www.cnblogs.com/ldy233/p/14439983.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!