概述
上一篇主要阐述了OneData建模体系的大概流程,以及三个重要板块中的需求调研及规划部分;而本篇主要阐述规范定义模块的内容。在我们知道数仓涵盖的业务流程以及需求点,然后再进行数据域的划分;这时数仓大致的架构与方向基本明确,而接下来要说的则是具体细节。例如:需要建哪些维度表、每张维度表的粒度是什么、公共计算逻辑是哪些等等;后续内容将会展开说明。
规范定义

规范定义指以维度建模作为理论基础,构建总线矩阵,划分和定义数据域、业务过程、维度、度量 /原子指标、修饰类型、修饰词、时间周期、派生指标等;其中的名词术语都会在后续内容进行说明。
构建总线矩阵
当明确每一个数据域中有哪些业务过程后,就可以开始构建总线矩阵;主要目的是用于指导后面事实模型中关联维度定义。举例说明:下表是关于交易域的的部分总线矩阵,以及定义的几个常见的维度(时间、用户、商品、支付方式、退单类型等等维度);其中每行表示业务过程,每列表示维度,√ 表示业务过程与维度存在关联;而一个业务过程对应维度模型中的事务型事实表,一个维度对应维度模型中的维度表。

上述已经提到为什么要构建总线矩阵,那么要怎么一步一步的来构建总线矩阵呢?首先总线矩阵中的核心是围绕事务型事实表构建出来的,及通过事务型事实表的构建方式同样可以构建成总线矩阵。
事务型事实表构建流程:选择业务过程 -> 声明粒度 -> 确认维度 -> 确认事实
详细的总线矩阵如下:

明确统计指标
构建业务总线矩阵是设计维度模型的过程,而明确统计指标则是深入分析需求(深入到每一个需求点的计算逻辑都要明白)并构建指标体系;而构建指标体系主要目的是为指标定义标准化(提高沟通效率),例如安装统一标准指定可以有效避免歧义以及定义重复问题。
除此之外构建指标体系另一个重要的意义是构建 DWS 层,大部分的需求都可以使用指标体系定义为原子指标、派生指标、衍生指标;然后就会发现某些需求直接或者间接对应一个或者多个派生指标,可以理解为将相同计算逻辑的下沉到一起减少计算资源消耗。
原子指标
原子指标是基于某一业务过程的度量值,在业务中是不可再拆解的指标;原子指标的核心就是对指标的聚合逻辑进行定义,且原子指标包含三要素:业务过程、度量值、聚合逻辑。
例如:订单总额就表示原子指标,其中订单表示的业务过程、总表示的是聚合逻辑、额表示的是度量值。当不说明该原子指标与其他聚合逻辑时是没有明确含义的,当加上最近一天这个聚合逻辑时;它所表达的含义就是最近一天的订单总金额这样就有明确的含义了。
派生指标
派生指标可以分为三类:事务型指标、存量型指标、复合型指标。
事务型指标:事务型指标是最为常见的,指的是基于原有事务型原子指标进行简单的加减乘除操作,但是其事务型没有发生变化;例如每天商品下单次数、某个仓库进库量、与出库量的记录等等,在此基础上建立派生指标。
存量型指标:可以理解为出库库存的概念,指的是每天的库存量的状态,例如每天凌晨零点库存量的多少,或者说是对事务周期性状态的记录(订单是有多种状态,那么只在零点同步订单的最新状态),在此基础上建立派生指标。
复合型指标:下文进行阐述。
派生指标是基于原子指标 + 多个修饰词 + 时间周期形成的,通常会对应实际的统计需求。派生指标只归属于原子指标,继承原子指标的数据域,与其他的修饰词无关。具体公式如下:
派生指标 = 原子指标 + 统计周期 + 业务限定 + 统计粒度
举例说明:
最近一天各省份手机品类订单总额 = 订单总额 + 最近一天 + 手机品类 + 省份
原子指标:主要是定义业务过程、度量值与聚合逻辑,例如上述提到的订单总额;
统计周期:限定统计的时间范围,例如最近一天限定的是订单业务过程;
业务限定:限定任意维度统计范围,例如上述限定手机品类还可以限定手机品牌等等;
统计粒度:定义统计的粒度,例如上述提到的省份;
那么如何实现统计需求的 SQL 呢?首先通过上述的派生指标拆分公式可以得知到,所需要的是订单事务型事实表,而统计周期与业务限定就相当于是 SQL 中的 where 条件,最后的统计粒度则为 SQL 中的 Group by。
衍生指标
衍生指标(复合型派生指标)是基于一个或者多个派生指标,通过逻辑运算复合而成的;例如比率,举例如下:
最近30日各省份手机品类退货率(衍生指标) = 最近30日各省份手机品类退单次数 / 最近30日各省份手机品类下单次数
最近30日各省份手机品类退单次数(派生指标)= 退单总次数 + 最近30日 + 手机品类 + 省份
最近30日各省份手机品类下单次数(派生指标)= 下单总次数 + 最近30日 + 手机品类 + 省份
数仓一般咋分层呢?
以上示例与内容仅是个人观点,如有误十分感谢提出;内容还在完善中!!!
参考链接:
《大数据之路:阿里巴巴大数据实践》
本文详细介绍了OneData建模中的规范定义阶段,包括构建总线矩阵以指导维度模型的关联定义,以及明确统计指标如原子指标、派生指标和衍生指标。通过事务型事实表的构建流程,阐述了如何逐步形成总线矩阵,并强调了指标体系在减少计算资源消耗和提高沟通效率上的作用。
7万+

被折叠的 条评论
为什么被折叠?



