维度是分析业务过程中的环境信息,维度表的列值被称为维度属
性,维度属性通常被用来作为分析的过滤/排序/聚合条件。因此在分析
需求中作为约束条件的字段应该构建成维度属性。
在确定了需要构建的维度实体之后通常按照以下流程设计
1.
确定维度全局唯一,同一个业务下有且只允许一个维度定义
2.
确定维度主键,维度的主键包括代理键和自然键两种,前者可以
通过系统自动生成(例如 mysql 的自增 id),自然键通常由业务提
供,例如每个广告订单 id 都是唯一的,并且对应前台的业务系统来
说,每一个自然键都具有唯一的业务定义
3.
确定主维表与主维表属性,主维表是业务前台直接同步的数据,
属性字段由业务系统维护
4.
确定相关维表和相关维表属性,数仓的主要工作是对不同系统的
交叉分析,因此在构建维表时除了填充业务前端的属性以外还需要根
据业务的分析需求补齐相关属性字段,例如广告订单的广告主行业信
息。
除此之外,在设计过程中,开发人员还需要注意以下几个主题:反规范
化,维度一致性处理,维度整合和拆分。