数据仓库-维度数据模型、建模方法步骤

维度数据模型

维度数据模型,Dimensional modeling,简称 维度模型,DM,用于数据仓库设计

是数据仓库领域大师 Ralph Kimball 所倡导的。维度建模以 分析决策的需求出发 构建模型,构建的数据模型为分析需求服务,因此它重点解决 用户如何更快速完成分析需求,同时还有较好的大规模复杂查询的响应性能,更直接面向业务。

事实 和 维度 是两个维度模型中的核心概念:

  • 事实表示对业务数据的度量。事实通常是 数字类型 的,可以进行 聚合 和 计算
  • 维度是观察数据的角度。维度通常是一组层次关系或描述信息,用来定义事实

如:学生信息,年龄、分数 是事实,而 性别、年级、学科 等都是年龄、分数的 事实的维度。

建模方法(步骤)

  1. 选择业务过程
  2. 明确粒度,分析到哪种细粒程度
  3. 明确维度,有哪些维度
  4. 明确事实,要分析哪些指标

选择业务过程

确认哪些业务处理流程是数据仓库应该覆盖的,是维度方法的基础。

例如,需要了解和分析一个零售店的销售情况,那么与该零售店销售相关的所有业务流程都是需要关注的。

明确粒度

粒度:数据细化到什么程度,是细化到每个小时,还是每一天,还是每个星期,每个月

用于确定 维度 和 事实,因为维度或事实必须与定义的粒度保持一致

明确维度

维度的粒度必须和粒度一致。维度表是事实表的基础,也说明了事实表的数据是从哪里采集来的。

典型的维度都是名词,如日期、商店、库存等。

维度表存储了某一维度的所有相关数据,例如,日期维度应该包括年、季度、月、周、日等数据。

明确事实

识别数字化的度量,构成事实表的记录。大部分事实表的度量都是数字类型的,可累加,可计算,如:成本、数量、金额等。

提示:与系统使用者密切相关的,因为使用者正是通过对事实表的访问获取数据仓库存储的数据。

特点

易理解

信息按业务种类或维度进行分组,这会提高信息的可读性,也方便了对于数据含义的解释。简化的模型也让系统以更为高效的方式访问数据库。

高性能

维度模型的目的是简化、加速查询,更倾向于非规范化,因为这样可以优化查询的性能。

可扩展

由于维度模型允许数据冗余,因此当向一个维度表或事实表中添加字段时,不会像关系模型那样产生巨大的影响,带来的结果就是更容易容纳不可预料的新增数据。

阿里的OneData的建模工作流

维度建模种类

维度建模分为 星型模型、雪花模型,详见:数据模型:星型模型(Star Schema)、雪花模型(Snowflake Schema)

维度表

详见:https://www.malaoshi.top/show_1IX3BbRckFAU.html

事实表的分类

分为:事务事实表,周期快照事实表,累计快照事实表

详见:https://www.malaoshi.top/show_1IX3BaJaeDcL.html


原文出处:/show_1IX3K7XMN7yM.html