对于维度建模的理解

什么意思

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

维度建模是 数据仓库/商业智能 项目成功的关键,为什么这么说,因为不管我们的数据量从GB到TG还是到PB,虽然数据量越来越大,但是数据展现要获得成功,就必须建立在简单性的基础之上,而维度建模就是时刻考虑如何能够提供简单性,以业务为驱动,以用户理解性和查询性能为目标。

维度建模:维度建模是专门应用于分析型数据库、数据仓库、数据市集建模的方法。数据市集可以理解为一种“小型的数据仓库” 维度建模指导我们在数据仓库中如何建表

维度建模分为两种表:事实表和维度表

    事实表:必然存在的一些数据,像采集的日志文件,订单表,都可以作为事实表
    特征:是一堆主键的集合,每个主键对应维度表中的一条记录,客观存在的,根据主题确定出需要使用的数据

    维度表:维度就是所分析的数据的一个量,维度表就是以合适的角度来创建的表,分析问题的一个角度:时间、地域、终端、用户等角度

    维度建模的三种模式

    星形模式:以事实表为中心,所有的维度表直接连在事实表上,最简单最常用的一种

    请点击输入图片描述

    雪花模式:雪花模式的维度表可以拥有其他的维度表,这种表不易维护,一般不推荐使用

    请点击输入图片描述

    星座模型:基于多张事实表,而且共享维度信息,即事实表之间可以共享某些维度表

    请点击输入图片描述

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-01-25
维度建模是一种将数据结构化的逻辑设计方法,它将客观世界划分为度量和上下文。度量是常常是以数值形式出现,事实周围有上下文包围着,这种上下文被直观地分成独立的逻辑块,称之为维度。它与实体-关系建模有很大的区别,实体-关系建模是面向应用,遵循第三范式,以消除数据冗余为目标的设计技术。维度建模是面向分析,为了提高查询性能可以增加数据冗余,反规范化的设计技术。

参考文章https://zhuanlan.zhihu.com/p/442910872
第2个回答  2019-11-12
通俗一点就是将分析的角度(也就是维度)整合到事实表里面去,让应用更加便捷。比如你要分销某个商品的销售情况,可以把商品销售时间,部门,商品类别,一起和销售记录整合,这样你可以分析按时间,部门或是类型进行统计,这是一个方法论,具体操作又有不同的设计方式,比如星型,雪花。

总的来说,这个说起来是一个很大的概念,不是三言两语可以讲清楚的,可以自己百度学习二个经典的建模方式,即关系建模和维度建模。 - -||
第3个回答  2019-09-30
没有冗余代码 方便本回答被提问者采纳
相似回答