数据仓库简介

数仓分层目的

通过分层,可以让复杂混乱的数据体系内部的依赖结构变得层次分明,具体好处如下:

  • 清晰的数据结构,每个数据层都有自己的作用域和职责
  • 减少重复开发,开发一些通用的中间层数据,能够减少重复计算
  • 统一数据对外输出的口径

数仓建模

大多数情况下采用的是维度建模,维度建模将数据表分成两类:维度表和事实表。维度表代表的是基础信息,是事实表发生的前提条件,比如商品列表。事实表代表的是业务操作的结果,记录的是事实,比如订单事实表,记录用户买个几样东西等信息。

数仓建模模型

  • 3NF
    3NF:表的原子性,即每张表代表一个实体,不能包含多个实体
    拓展
    1NF:列的原子性,即每列不能拆分出其他列
    2NF:行的原子性,即每行都有唯一的主键,其他字段与主键之间一一对应
  • 维度模型
    星型模型、雪花模型、星座模型(雪花模型的变种,多个雪花模型连在一起)、Cube模型(Kylin数据库)
    拓展:现在的存储大而便宜,所以雪花模型和星座模型基本不用了
  • 宽表模型
    遵从3NF的一般称为窄表,宽表是相对窄表而言的,宽表其实是3NF的退化,表不具备原子性,即表中包含多个实体,在NoSQL数据库中非常流行,不需要join即可拿到更多的信息

数仓五级分层

  • ODS层:存放原始数据,不对外开放
  • DWD层:存放明细数据,即对ODS数据进行清洗,给后续处理提供字段统一、名字统一、格式统一的标准化数据,遵从3NF模型
  • DWS层:存放宽表数据,来源于DWD数据,面向具体业务领域,将数据进行横向和纵向汇聚,以空间换时间为业务提供预计算,方便业务方获取,遵从宽表模型
  • ADS层:个性化维度汇总,前端应用可以直接读取的数据,例如报表,也称为数据集市
  • DIM层:存放维度表
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值