《全链路数据治理-智能数据建模 》——数仓建模理论与规范(5) https://developer.aliyun.com/article/1231080?groupCode=tech_library
4. 模型设计
1) 设计原则
• 高内聚,低耦合
• 规范性,一致性
• 稳定性,可扩展
• 公共逻辑下沉
• 成本性,能平衡
• 支持多次回刷
2) 维度表设计
设计流程
基本原则
• 缓慢变化维
Kimball 的三种处理方法:重写、插入新记录、插入维度列(仅限两次变更);
阿里采用极限存储的方法。
• 维度的一致性
相同维度属性在不同物理表种字段名称、数据类型、内容必须一致。
• 维度的组合和拆分
同一维度不同属性关联性强可以整合,如会员基础属性星级等。
同一维度不同属性差异大的可拆分,如淘宝商品与航旅商品。
同一维度不同属性关联度不强的可拆分,如会员表拆为买卖家维度表,如淘
宝商品与CBU 商品。
从产出时效、易用性、稳定性角度考虑是否需要拆分,如商品维度表和扩展
表。
命名规则
dim_{业务BU/pub}_{数据域}_{维度定义}[_{自定义命名标签}]
最佳实践
以淘系事实表、交易订单表和其中冗余的商品、买卖家相关维度表为例来介绍。
下图是淘系商品维度表:dim_tb_itm
维度:商品
维度属性:商品标题、商品金额、商品颜色、主图等
冗余属性:类目维度属性等
下图是淘系商品属性扩展维度表:dim_tb_itm_extend
扩展维度表从主维度表中拆分出来主要是有三个方面考虑:稳定性、产出时效、变
化频次角度。
主维度表VS 扩展维度表:
主维度表
• 稳定
• 产出时间早
• 热度高
扩展维度表
• 变化较快
• 产出时间晚
• 热度低
《全链路数据治理-智能数据建模 》——数仓建模理论与规范(7) https://developer.aliyun.com/article/1231078?groupCode=tech_library