根据阿里巴巴OneData方法论,明确每个数据域中有哪些业务过程后,您需要开始定义维度,并基于维度构建总线矩阵。
定义维度
在划分数据域、构建总线矩阵时,需要结合对业务过程的分析定义维度。本教程中,以A电商公司的营销业务板块为例,在交易数据域中,我们重点分析确认收货(交易成功)的业务过程。
在确认收货的业务过程中,维度所依赖的业务角度主要有两个,即商品和收货地点(地域)。本教程中,假设收货和购买是同一个地点。
- 从商品角度分析,我们可以定义出以下维度:
- 商品ID(主键)
- 商品名称
- 商品交易价格
- 商品新旧程度:0全新;1闲置;2二手
- 商品类目ID
- 商品类目名称
- 品类ID
- 品类名称
- 买家ID
- 商品状态:0正常;1用户删除;2下架;3未上架
- 商品所在城市
- 商品所在省份
- 从地域角度分析,我们可以定义出以下维度:
- 城市code
- 城市名称
- 省份code
- 省份名称
作为维度建模的核心,维度在企业级数据仓库中必须具有唯一性。维度在每个业务板块内必须具有唯一性,即每个维度在所属业务板块内有且只有一种定义。例如本教程内的省份维度,对于营销业务板块内的任何业务过程所传达的信息都是一致的。基于Dataphin创建维度的详情请参见创建维度及维度表。
维度创建、发布成功后,系统会自动创建对应的维表(即维度逻辑表),并支持对维表进行添加属性、添加关联维度、添加子维度、物理化配置等操作。维表与维度一一对应,是通过丰富维度中的属性信息构建而成的。维表详情请参见编辑模型信息。
构建总线矩阵
明确每个数据域中有哪些业务过程后,即可构建总线矩阵,该总线矩阵将用于指导后续事实模型中关联维度的定义,构建数据仓库的雪花模型。
您需要定义每个数据域下的业务过程和维度,并明确每个业务过程与哪些维度相关。下表是A公司电商板块交易功能的总线矩阵,我们定义了购买省份、购买城市、类目ID、类目名称、品牌ID、品牌名称、商品ID、商品名称、成交金额等维度,并明确了不同业务过程包含了哪些维度。
数据域/过程 | 一致性维度 | ||||||
购买省份 | 购买城市 | 类目 | 品牌 | 商品 | 成交金额 | ||
交易域 | 下单 | Y | Y | Y | Y | Y | N |
支付 | Y | Y | Y | Y | Y | N | |
发货 | Y | Y | Y | Y | Y | N | |
确认收货 | Y | Y | Y | Y | Y | Y |
说明 Y表示包含该维度,N表示不包含。