本节内容主要讲解模型的具体设计过程,也是我们平常数仓工作中的重中之重。更多精彩课程关注B站语兴呀,或关注gzh:语数,获取全部课件资料。
总线矩阵指以一致性维度为列,以业务过程为行,构建业务的数据矩阵,通过标记表示该维度与业务过程的相关性
对当前业务场景或业务sop进行拆分完成对应主题建设
围绕着业务过程来设计,通过获取描述业务过程的度量来表达业务过程,包含了引用的维度和与业务过程有关的度量。
对当前场景描述及补充
主题域下场景用户再进行细致拆分(例如用户可拆分为买家或卖家),颗粒度必须拆分为不可拆分的状态(例如用户拆分为买家,买家不可拆分)
对场景下数值类型的数据记录
指面向业务分析,将业务过程或者维度进行抽象的集合。其中业务过程指企业活动中的事件,例如下单、退款、加购等,维度即度量的环境,例如下单事件中的买家。
背景:例如DWS、ADS出现跨数据域(例如该模型既用于风控又用于用户画像)情况,需要根据跨的数据域再重新定数据/主题域
围绕着业务过程来设计,通过获取描述业务过程的度量来表达业务过程,包含了引用的维度和与业务过程有关的度量。
事务性事实表(更多应用于DWD层)
对于单事务事实表,一个业务过程建立一个事实表,只反映一个业务过程的事实 对于多事务事实表,在同一个事实表中反映多个业务过程
累计快照事实表 对于类似于研究事件之间时间间隔的需求,采用累计快照事实表可以很好地解决,如在统计买家下单到支付的时长、买家支付到卖家发货的时长等
在确定的时间间隔内对实体的度量进行抽样,用于研究一段时间内实体的度量值(例如近30天pv、uv)
全量:ods__{业务数据库名}_{业务数据表名}
增量:ods__{业务数据库名}_{业务数据表名}_delta
dwd_{事业部名(适用于大厂多事业部情况)}{数据域}{二级数据域}_{业务过程(不清楚或没有写detail)}_df/di(df为全量数据,di为增量数据)
全量数据(对源数据全部覆盖)
增量数据(对源数据进行分区式覆盖,例如昨天存储1000条订单数据,今天存储100条订单数据)
dws_{事业部名(适用于大厂多事业部情况)}{数据域}{二级数据域}{颗粒度}(例如买家/卖家){业务过程}_{周期粒度}(例如近30天写30d、90天写3m)
ads_{应用类别}(例如风控叫risk){应用主题/应用场景}{颗粒度}(例如买家/卖家){业务过程}{调度周期}(例如1天调度一次写1d)
dim_{事业部名(适用于大厂多事业部情况)}__{维度定义}(例如日期写date)
tmp表(临时表)
tmp_{表名}_{临时表编号}
view(视图)
{表名}_view
是否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))
每个模型的颗粒度
每个模型的主键(联合主键)
数据模型发展周期
欢迎各位同学评论区交流!
也可以私信联系我进入学习交流群!