数仓建设学习路线(二)模型建设(2)

写在最前面

本节内容主要讲解模型的具体设计过程,也是我们平常数仓工作中的重中之重。更多精彩课程关注B站语兴呀,或关注gzh:语数,获取全部课件资料。

模型设计基本原则

数仓建设学习路线(二)模型建设(2)_第1张图片

维度模型设计大图

数仓建设学习路线(二)模型建设(2)_第2张图片

模型建设过程图

数仓建设学习路线(二)模型建设(2)_第3张图片

从总线矩阵开始

总线矩阵指以一致性维度为列,以业务过程为行,构建业务的数据矩阵,通过标记表示该维度与业务过程的相关性

模型建设考量5要素(重点)

主题域

对当前业务场景或业务sop进行拆分完成对应主题建设

事实表设计

围绕着业务过程来设计,通过获取描述业务过程的度量来表达业务过程,包含了引用的维度和与业务过程有关的度量。

维度

对当前场景描述及补充

颗粒度

主题域下场景用户再进行细致拆分(例如用户可拆分为买家或卖家),颗粒度必须拆分为不可拆分的状态(例如用户拆分为买家,买家不可拆分)

度量值

对场景下数值类型的数据记录

模型数据域

概念

指面向业务分析,将业务过程或者维度进行抽象的集合。其中业务过程指企业活动中的事件,例如下单、退款、加购等,维度即度量的环境,例如下单事件中的买家。

数仓建设学习路线(二)模型建设(2)_第4张图片

跨数据域

背景:例如DWS、ADS出现跨数据域(例如该模型既用于风控又用于用户画像)情况,需要根据跨的数据域再重新定数据/主题域

事实表设计

概念

围绕着业务过程来设计,通过获取描述业务过程的度量来表达业务过程,包含了引用的维度和与业务过程有关的度量。

事实表类型

事务性事实表(更多应用于DWD层)
对于单事务事实表,一个业务过程建立一个事实表,只反映一个业务过程的事实 对于多事务事实表,在同一个事实表中反映多个业务过程

累计快照事实表(更多应用于DWD层)

累计快照事实表 对于类似于研究事件之间时间间隔的需求,采用累计快照事实表可以很好地解决,如在统计买家下单到支付的时长、买家支付到卖家发货的时长等

周期快照事实表(更多应用于DWS层)

在确定的时间间隔内对实体的度量进行抽样,用于研究一段时间内实体的度量值(例如近30天pv、uv)

三者对比

数仓建设学习路线(二)模型建设(2)_第5张图片

事实表设计过程

  • 识别业务过程
  • 选择事实表类型
  • 声明颗粒度及维度
  • 补充主题域下度量值->维度退化

数据模型规范

表命名(采用阿里one-data设计)

ODS层(接入层)

全量:ods__{业务数据库名}_{业务数据表名}

增量:ods__{业务数据库名}_{业务数据表名}_delta

DWD层(明细层)

dwd_{事业部名(适用于大厂多事业部情况)}{数据域}{二级数据域}_{业务过程(不清楚或没有写detail)}_df/di(df为全量数据,di为增量数据)

全量数据(对源数据全部覆盖)

增量数据(对源数据进行分区式覆盖,例如昨天存储1000条订单数据,今天存储100条订单数据)

DWS层(汇总层)

dws_{事业部名(适用于大厂多事业部情况)}{数据域}{二级数据域}{颗粒度}(例如买家/卖家){业务过程}_{周期粒度}(例如近30天写30d、90天写3m)

ADS层(应用层)

ads_{应用类别}(例如风控叫risk){应用主题/应用场景}{颗粒度}(例如买家/卖家){业务过程}{调度周期}(例如1天调度一次写1d)

dim表(维度表)

dim_{事业部名(适用于大厂多事业部情况)}__{维度定义}(例如日期写date)

其他

tmp表(临时表)

tmp_{表名}_{临时表编号}

view(视图)

{表名}_view

字段命名(采用阿里one-data设计)

  • 是否xxxxx用户,类型字段命名规范
    is_{内容}

  • 枚举值类型字段命名规范
    xxxx_type

  • 时间戳类型字段命名规范
    xxx_date,xxx_time

周期指标命名

{内容}_{时间描述}(如最近一次last1,最近两次last2,历史his,最近第二次last2nd)_date、最近180天 6m

百分比命名

{内容}_rate

数值类型(整型)命名

{内容}cnt{周期}(周期看情况加)

数值类型(小数)金额命名

{内容}amt{周期}(周期看情况加)

两个时间段之间统计命名

xxx(时间段1内行为)_xxx(时间段2内操作)_dur

数据模型标注规范

  • owner

  • 表中文名+使用说明

  • 每个开发字段中文名(中文名需要包含该字段内容,例如是否为xxxx用户,需要写出包含内容(Y/N))

  • 每个模型的颗粒度

  • 每个模型的主键(联合主键)

  • 数据模型发展周期

数据模型发展周期

数仓建设学习路线(二)模型建设(2)_第6张图片

额外补充

数仓建设学习路线(二)模型建设(2)_第7张图片

最后

欢迎各位同学评论区交流!
也可以私信联系我进入学习交流群!

你可能感兴趣的:(数仓建设-学习路线,大数据,数据仓库)