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