维度表:以时间或者地区为维度记录的表
事实表:用来存储事实,引用很多个维度
星型模型:一个事实表引用多个维度表,设计规范导致维护会复杂,冗余少,但查询时要多张表join,性能低
雪花模型:一个事实表引用多个维度表,表中的维度继续关联维度表,太冗余,一般不用
星座模型:多个事实表引用多个维度表,数仓常用
三范式
表中只有一个维度,没有其他维度
数仓分层:结构清晰分工明确
数据加载层:ETL(Extract-Transform-Load)
数据来源杂,抽取 转换 加载
数据运营层:ODS(Operational Data Store)
“面向主题的”数据运营层,也叫ODS层,最接近源数据,只入库,不再ETL
数据仓库层:DW(Data Warehouse)
获得ODS主题来建立数据模型
-
数据明细层:DWD(Data Warehouse Detail)
将维度表退化到事实表,减少关联查询,也做一部分的数据聚合,将相同主题的数据汇集到一张表中,提高数据的可用性
-
数据中间层:DWM(Data WareHouse Middle)
在DWD基础上轻度聚合,对通用的核心维度进行聚合操作,算出相应的统计指标
-
数据服务层:DWS(Data WareHouse Service)
按照业务划分,如流量、订单、用户等,生成字段比较多的宽表,用于提供后续的*业务查询,OLAP分析,数据分发*等。
数据应用层:APP(Application)
主要是提供给数据产品和数据分析使用的数据
维表层:DIM(Dimension
高基数维度数据:一般是*用户资料表、商品资料表类似的资料表*。数据量可能是千万级或者上亿级别。
低基数维度数据:一般是*配置表*,比如枚举值对应的中文含义,或者日期维表。数据量可能是个位数或者几千几万。
ads 层介绍
对电商系统各大主题指标分别进行分析,本项目中分析了四大主题·:设备主题、会员主题、商品主题、营销主题。
增量表:保留历史数据,记录每个周期内表新增的数据
记录更新周期内新增的数据,即在原表中数据的基础上新增本周期内产生的新数据;
全量表:保留历史数据,记录每个周期内的所有数据,
记录更新周期内的全量数据,无论数据是否有变化都需要记录;
拉链表:记录每个id从开始到现在的所有历史操作
保留历史的数据,并插入新的数据。
一种数据存储和处理的技术方式,可以记录数据的历史信息,记录数据从开始一直到当前所有变化的信息。
宽表:从字面意义上讲就是字段比较多的数据库表。通常是指业务主题相关的指标、维度、属性关联在一起的一张数据库表。由于把不同的内容都放在同一张表存储,宽表已经不符合三范式的模型设计规范,随之带来的主要坏处就是数据的大量冗余,与之相对应的好处就是查询性能的提高与便捷。这种宽表的设计广泛应用于数据挖掘模型训练前的数据准备,通过把相关字段放在同一张表中,可以大大提高数据挖掘模型训练过程中迭代计算时的效率问题。(一句话,空间换时间,便于训练迭代、减少表关联数量,修改少量数据时不需要该多张表)
窄表:严格按照数据库设计三范式。尽量减少数据冗余,但是缺点是修改一个数据可能需要修改多张表