【数仓建模方法论之维度建模】

数仓建模方法论之维度建模

一、建模方法

数据仓库建模方法论有蛮多种:维度建模、范式建模、Data Vault模型、Anchor模型。而在大多企业中最常用的是维度建模。

1、维度建模

按数据组织建模类型划分可分为星型模型、雪花模型、星座模型。

1.1星型模型

星型模型是维表和事实表,以事实表为中心,所有维度直接关联在事实表上,呈星型分布,即是 星型模型。
在这里插入图片描述

1.2雪花模型

在星型模型的基础上,维度表上又关联了其他维度表,这种叫雪花模型。

雪花模型维护成本高,性能较差,一般很少使用。尤其在基于Hadoop体系构建数据仓库时,尽可能的要减少join的操作。

1.3星座模型

星座模型,是对星型模型的扩展延伸,多张事实表共享维度表。

二、维度建模流程

下面通过一个业务场景来简单论述维度建模的过程,我们以微商城下单为例:一个会员购买一件商品,会生成一条记录数据。这条记录包含了会员的ID、商品的ID、时间,支付金额,支付方式等等诸多业务信息,我们对这条记录进行拆分。

1、收集业务需求与数据调研

在进行数据建模之前,我们要跟业务方进行充分沟通,理解整个链路的业务,对底层数据要充分认识。通过沟通交流、查看数据库数据或现有报表数据,理解他们需要的关键性指标,运营指标。

2、业务过程选择

业务过程是业务活动事件,如下单,支付,退款都是业务过程,把这些过程转换为事实表中的事实,多数事实表只记录某一业务过程的结果。业务过程的选择非常重要,因为业务过程定义了特定的设计目标以及对粒度、维度、事实的定义。

3、声明粒度

粒度用于确定某一事实表中的行表示什么。在选择维度或事实前必须声明粒度,因为每个维度或事实必须与定义的粒度保持一致。在从给定的业务过程获取数据时,原子粒度是最低级别的粒度。

4、确认维度

维度是度量的环境,用来反映业务的一类属性。这类属性的集合构成一个维度,也可以称为实体对象。如地理维度(其中包括国家、地区、省以及城市等级别的内容)、时间维度(其中包括年、季、月、周、日等级别的内容)。

5、确认事实

事实涉及来自业务过程事件的度量,基本上都是以数据值表示。事实表作为数据仓库维度建模的核心,紧紧围绕着业务过程来设计通过获取描述业务过程的度量来表达业务过程。事实表通常包含多个度量数据,如销售金额、订单数量、利润等。事实表中的每一行数据代表一个业务事件,如一次操作、一笔订单等。
事实表的设计需要考虑多个因素,包括度量数据的选择、粒度的确定、主键的设计等。度量数据的选择需要根据业务需求来确定,粒度的确定需要考虑数据的最小粒度,主键的设计需要保证数据的唯一性和完整性。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值