《全链路数据治理-智能数据建模 》——数仓建模理论与规范(5)

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 《全链路数据治理-智能数据建模 》——数仓建模理论与规范(5)

《全链路数据治理-智能数据建模 》——数仓建模理论与规范(4) https://developer.aliyun.com/article/1231081?groupCode=tech_library



3. 规范定义


1) 一致性维度


维度及维度属性


在总线矩阵下,维度必须归属某一个数据域,维度属性的来源一种是源系统,一种是挖掘计算,如最近一次支付时间。


特殊维度

• 杂项维度:将事实表中的状态、分类等字段定义为维度,比如交易订单、物流订单中的状态等均可称杂项维度。

• 行为维度:基于历史事实构建,如会员最近一次支付时间就是一个行为维度,可作为其父维度会员维度的维度属性,不建议单独创建维度。


维度整合和拆分

• 维度整合

􎛏 同一业务板块下同维度不同属性信息可整合,如会员维度基本属性、星级等

信息。

􎛏 不同业务板块同维度信息可整合,如天猫淘宝基本会员信息。

• 维度拆分

􎛏 同一维度不同分类的属性,差异较大或业务关联度不大的信息,如不同业务板块的商品维度可拆分成不同维度表。

􎛏 每个商品会有主属性(形状、颜色、价格,等)和扩展属性,比如有些产品的一个扩展属性是带电的,那么在物流业务上就会有相应的限制,因此需要根据其业务属性拆分到不同维度表。

􎛏 从产出时效、易用性考虑垂直拆分出主商品维表和商品维度扩展表。比如“跨境十日达”商品,会根据其业务属性划分维度属性,并放入维度扩展表。



命名规则

• 命名规则尽可能使用英文简写。

• 若英文简写过长,可考虑拼音首字母简写,如:商品itm,商家slr,买家byr。


最佳实践


以淘系常用维度来看命名规则。


image.png


2) 一致性度量


基本原则


• 度量必须归属某一个业务过程。

• 度量类型:一般是数值,所以在定义数据类型时候一般为数字类型,同时需要和维度属性做区别。

• 度量分类:按照事实的是否可加性分为:可加性度量、半可加性度量、不可加度量。


命名规则

• 尽可能使用英文简写。

• 当英文简写很长可以考虑汉语拼音首字母的简写,但一般要保持整个数仓一致性,所以尽可能选择一种命名缩写规则,如:数量cnt、金额amt。


最佳实践

• 前面已经定义了业务过程,比如交易域的支付过程,接下来要规范定义交易业务过程涉及的度量,例如金额amt、单量cnt 等。


3) 指标定义


基本原则

• 派生指标可以选择多个修饰词,唯一归属于一个原子指标,属于某一个数据域。

• 派生指标一般由原子指标和时间周期、若干修饰词构成。

• 派生指标的命名要继承原子指标的命名规则和名称,可以抽象为:修饰词+原子指标+时间周期。


命名规则


• 尽可能使用英文简写。

• 若过长,考虑拼音首字母简写,如:

􎛏 原子指标:支付单量pay_ord_cnt

􎛏 派生指标:近1 天淘特支付单量tt_pay_ord_cnt_1d


最佳实践

• 下图左边是逻辑结构图,右边是指标举例,最近1 天淘特支付单量的逻辑结构图:


image.png


• 下图是以交易域的指标为例看命名规则:

􎛏 电商版块:ed

􎛏 交易域:trd

􎛏 支付:pay

􎛏 单量:ord_cnt

􎛏 订单:ord

􎛏 业务来源类型:From_group

􎛏 最近一天:1d

􎛏 淘宝特价版:tt

􎛏 支付单量:pay_ord_cnt

􎛏 订单:ord

􎛏 订单ID、订单状态:order_id,order_status

􎛏 最近1 天淘特支付单量:tt_pay_ord_cnt_1d


image.png




《全链路数据治理-智能数据建模 》——数仓建模理论与规范(6) https://developer.aliyun.com/article/1231079?groupCode=tech_library

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
5月前
|
存储 数据采集 JavaScript
深入理解数仓开发(一)数据技术篇之日志采集
深入理解数仓开发(一)数据技术篇之日志采集
|
19天前
|
1月前
|
SQL
数仓规范之sql编写规范
编写SQL时,应遵循以下规范:所有关键字小写,表别名按a, b, c...顺序使用,复杂逻辑多行书写,提高可读性。SELECT字段需逐行列出,避免使用*,GROUP BY字段同样处理。WHERE条件多于一个时,每条件一行。JOIN子表推荐使用嵌套查询方式1,明确关联条件,避免笛卡尔积。关键逻辑需注释,INSERT SELECT后最外层字段加注释说明用途。示例中展示了推荐的JOIN替代子查询的写法,以提高代码的可读性和维护性。
45 1
|
5月前
|
消息中间件 关系型数据库 Kafka
深入理解数仓开发(二)数据技术篇之数据同步
深入理解数仓开发(二)数据技术篇之数据同步
|
3月前
|
SQL DataWorks 数据库连接
实时数仓 Hologres操作报错合集之如何将物理表数据写入临时表
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
3月前
|
DataWorks 负载均衡 Serverless
实时数仓 Hologres产品使用合集之如何导入大量数据
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
3月前
|
SQL 消息中间件 OLAP
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
56 1
|
3月前
|
SQL 分布式计算 关系型数据库
实时数仓 Hologres操作报错合集之指定主键更新模式报错主键数据重复,该如何处理
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
3月前
|
SQL 分布式计算 MaxCompute
实时数仓 Hologres产品使用合集之如何在插入数据后获取自增的id值
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
实时数仓 Hologres产品使用合集之如何在插入数据后获取自增的id值
|
4月前
|
Cloud Native 关系型数据库 新能源
下一篇
无影云桌面