数据仓库理论

范式理论:

概念:数仓建模必须遵循相关的规则,在关系建模中,这种规则就叫范式。
目的:可以降低数冗余
分类:目前使用最广泛的为第一范式、第二范式、第三范式

函数依赖

插入图片描述

  • 完全函数依赖:通过AB能得出C,但是AB单独得不出C,那么说C完全依赖于AB
    人类语言:通过(学号、课程)推出分数,但是,单独用学号推断不出来分数,那么:分数完全依赖于(学号、课程)

  • 部分函数依赖:通过AB能推出C,通过A也能推出C,或者通过B也能推出C,那么说C部分依赖于AB
    人类语言:通过(学号、课程)推出姓名,其实可以通过学号直接推出姓名,所以:姓名部分依赖于(学号、课程)

  • 传递函数依赖:通过A得到B,通过B得到C,但是C得不到A,那么说C传递依赖于A
    人类语言:学号推出系名,系名推出系主任,但是系主任推不出学号,系主任主要依赖于系名。这种情况可以说:系主任传递依赖于学号

三范式核心原则

第一范式:属性不可切割
第二范式:不能存在部分函数依赖
第三范式:不能存在传递函数依赖


关系模型与维度维度模型

关系建模:将复杂的数据抽象为两个概念——实体和关系,并使用规范化的方式表示出来,较为松散、零碎,物理表数量多。

维度模型以数据分析作为出发点,不遵循三范式,故数据存在一定的冗余。维度模型面向业务,将业务用事实表和维度表呈现出来。表结构简单,故查询简单,查询效率较高。

维度模型分类:

  • 星型模型:星型模型的维度只有一层
  • 雪花模型:雪花模型的维度可能会涉及多层,较近3NF,但没有完全靠近(性能成本较高
  • 星座模型:基于多张事实表(所以数仓较多选择
    - 模型的选择取决于性能优先还是灵活性优先

维度表和事实表

维度表:一般是对事实的描述信息,每一张维度表对应现实世界的一个对象或者一个概念,如:用户、商品、日期、地区等

事实表:表中的每行数据代表一个业务事件(下单、支付、退款、评价等)。“事实”这个术语表示的是业务事件的度量值(可统计次数、个数、金额等)

举例:某人某天在某网站购买了3件商品花费300R 事实表:300R 3件 ; 维度表:用户、时间、商家、商品

事实表分类:

  • 事务型事实表:以每个事务或者事件为单位
  • 周期型快照事实表:不会保留所有数据,只会保留固定时间间隔的数据
  • 累积型快照事实表:用于跟踪业务事实的变化

数据仓库建模

ODS层:(Operation Data Store)原始数据层,存放原始数据
DIM层:(Dimension)维度层,保存维度数据,主要是对业务事实的描述信息
DWD层:(Data warehouse detail)数据明细层,对ODS层的数据进行清洗脱敏等,保存业务事实明细。
DWS层:(Data warehouse service)服务数据层,以DWD为基础,按天对数据进行轻度汇总,一行数据代表一个主题对象一天的汇总行为
DWT层:(Data warehouse topic)数据主题层,以DWS为基础对数据进行累计汇总,一行数据代表一个主题对象的累积行为。
ADS层:(Application Data Store)数据应用层,为各种统计报表提供数据

数仓为什么要分层:

  • 把复杂问题简单化
  • 减少重复开发
  • 隔离原始数据
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值