数据仓库-维度数据模型、建模方法步骤 作者:马育民 • 2022-05-16 07:47 • 阅读:10075 # 维度数据模型 维度数据模型,Dimensional modeling,简称 **维度模型**,DM,用于数据仓库设计 是数据仓库领域大师 Ralph Kimball 所倡导的。维度建模以 **分析决策的需求出发** 构建模型,构建的数据模型为分析需求服务,因此它重点解决 **用户如何更快速完成分析需求,同时还有较好的大规模复杂查询的响应性能,更直接面向业务**。 **事实** 和 **维度** 是两个维度模型中的核心概念: - 事实表示对业务数据的度量。事实通常是 **数字类型** 的,可以进行 **聚合** 和 **计算** - 维度是观察数据的角度。维度通常是一组层次关系或描述信息,用来定义事实 如:学生信息,**年龄**、**分数** 是事实,而 **性别**、**年级**、**学科** 等都是年龄、分数的 **事实的维度**。 # 建模方法(步骤) 1. 选择业务过程 2. 明确粒度,分析到哪种细粒程度 3. 明确维度,有哪些维度 4. 明确事实,要分析哪些指标 ### 选择业务过程 确认哪些业务处理流程是数据仓库应该覆盖的,是维度方法的基础。 例如,需要了解和分析一个零售店的销售情况,那么与该零售店销售相关的所有业务流程都是需要关注的。 ### 明确[粒度](https://www.malaoshi.top/show_1IX3JjtWUve4.html "粒度") 粒度:数据细化到什么程度,是细化到每个小时,还是每一天,还是每个星期,每个月 用于确定 维度 和 事实,因为维度或事实必须与定义的粒度保持一致 ### 明确维度 维度的粒度必须和粒度一致。维度表是事实表的基础,也说明了事实表的数据是从哪里采集来的。 典型的维度都是名词,如日期、商店、库存等。 维度表存储了某一维度的所有相关数据,例如,日期维度应该包括年、季度、月、周、日等数据。 ### 明确事实 识别数字化的度量,构成事实表的记录。大部分事实表的度量都是数字类型的,可累加,可计算,如:成本、数量、金额等。 **提示:**与系统使用者密切相关的,因为使用者正是通过对事实表的访问获取数据仓库存储的数据。 # 特点 ### 易理解 信息按业务种类或维度进行分组,这会提高信息的可读性,也方便了对于数据含义的解释。简化的模型也让系统以更为高效的方式访问数据库。 ### 高性能 维度模型的目的是简化、加速查询,更倾向于非规范化,因为这样可以优化查询的性能。 ### 可扩展 由于维度模型允许数据冗余,因此当向一个维度表或事实表中添加字段时,不会像关系模型那样产生巨大的影响,带来的结果就是更容易容纳不可预料的新增数据。 # 阿里的OneData的建模工作流 [![](/upload/0/0/1IX3Ba6FBhNn.jpg)](/upload/0/0/1IX3Ba6FBhNn.jpg) # 维度建模种类 维度建模分为 星型模型、雪花模型,详见:[数据模型:星型模型(Star Schema)、雪花模型(Snowflake Schema)](https://www.malaoshi.top/show_1IX2IO6OP7Ul.html "数据模型:星型模型(Star Schema)、雪花模型(Snowflake Schema)") # 维度表 详见:https://www.malaoshi.top/show_1IX3BbRckFAU.html # 事实表的分类 分为:事务事实表,周期快照事实表,累计快照事实表 详见:https://www.malaoshi.top/show_1IX3BaJaeDcL.html 原文出处:http://www.malaoshi.top/show_1IX3K7XMN7yM.html