维度建模的基本原则

转自:https://www.2cto.com/kf/201709/684395.html

遵循这些原则进行维度建模可以保证数据粒度合理,模型灵活,能够适应未来的信息资源,违反这些原则你将会把用户弄糊涂,并且会遇到数据仓库障碍。

原则一: 载入详细的原子数据到维度结构中

维度建模应该使用最基础的原子数据进行填充,以支持不可预知的来自用户查询的过滤和分组请求,用户通常不希望每次只看到一个单一的记录,但是你无法预测用户想要掩盖哪些数据,想要显示哪些数据,如果只有汇总数据,那么你已经设定了数据的使用模式,当用户想要深入挖掘数据时他们就会遇到障碍。当然,原子数据也可以通过概要维度建模进行补充,但企业用户无法只在汇总数据上工作,他们需要原始数据回答不断变化的问题。

原则二: 围绕业务流程构建维度模型

业务流程是组织执行的活动,它们代表可测量的事件,如下一个订单或做一次结算,业务流程通常会捕获或生成唯一的与某个事件相关的性能指标,这些数据转换成事实后,每个业务流程都用一个原子事实表表示,除了单个流程事实表外,有时会从多个流程事实表合并成一个事实表,而且合并事实表是对单一流程事实表的一个很好的补充,并不能代替它们。  

原则三: 确保每个事实表都有一个与之关联的日期维度表  

原则二中描述的可测量事件总有一个日期戳信息,每个事实表至少都有一个外键,关联到一个日期维度表,它的粒度就是一天,使用日历属性和非标准的关于测量事件日期的特性,如财务月和公司假日指示符,有时一个事实表中有多个日期外键。  

原则四: 确保每个事实表中的事实具有相同的粒度或同级的详细程度  

在组织事实表时粒度上有三个基本原则:事务,周期快照或累加快照。无论粒度类型如何,事实表中的度量单位都必须达到相同水平的详细程度,如果事实表中的事实表现的粒度不一样,企业用户会被搞晕,BI应用程序会很脆弱,或者返回的结果根本就不对。 

原则五: 解决事实表中的多对多关系  

由于事实表存储的是业务流程事件的结果,因此在它们的外键之间存在多对多(M:M )的关系,如多个仓库中的多个产品在多天销售,这些外键字段不能为空,有时一个维度可以为单个测量事件赋予多个值,如一个保健对应多个诊断,或多个客户有一个银行账号,在这些情况下,它的不合理直接解决了事实表中多值维度,这可能违反了测量事件的天然粒度,因此我们使用多对多,双键桥接表连接事实表。  

原则六: 解决维度表中多对一的关系  

属性之间分层的: 多对一(M:1)的关系通常未规范化,或者被收缩到扁平型维度表中,如果你曾经有过为事务型系统设计实体关系模型的经历,那你一定要抵抗住旧有的思维模式,要将其规范化或将M:1关系拆分成更小的子维度维度反向规范化是维度建模中常用的词汇。在单个维度表中多对一(M:1)的关系非常常见,一对一的关系,如一个产品描述对应一个产品代码,也可以在维度表中处理,在事实表中偶尔也有多对一关系,如详细当维度表中有上百万条记录时,它推出的属性又经常发生变化。不管怎样,在事实表中要慎用M:1关系。  

原则七: 存储报告标记和过滤维度表中的范围值  

更重要的是,编码和关联的解码及用于标记和查询过滤的描述符应该被捕获到维度表中,避免在事实表中存储神秘的编码字段或庞大的描述符字段,同样,不要只在维度表中存储编码,假定用户不需要描述性的解码,或它们将在BI应用程序中得到解决。如果它是一个行/列标记或下拉菜单过滤器,那么它应该当作一个维度属性处理。尽管我们在原则5中已经陈述过,事实表外键不应该为空,同时在维度表的属性字段中使用“NA”或另一个默认值替换空值来避免空值也是明智的,这样可以减少用户的困惑。

原则八: 确定维度表使用了代理键  

按顺序分配代理键(除了日期维度)可以获得一系列的操作优势,包括更小的事实表: 索引以及性能改善,如果你正在跟踪维度属性的变化,为每个变化使用一个新的维度记录,那么确实需要代理键,即使你的商业用户没有初始化跟踪属性改变的设想值,使用代理也会使下游策略变化更宽松,代理也允许你使用多个业务键映射到一个普通的配置文件,有利于你缓冲意想不到的业务活动,如废弃产品编号的回收或收购另一家公司的编码方案。  

原则九: 创建一致的维度集成整个企业的数据  

对于企业数据仓库一致的维度(也叫做通用维度: 标准或参考维度)是最基本的原则,在ETL系统中管理一次,然后在所有事实表中都可以重用,一致的维度在整个维度模型中可以获得一致的描述属性,可以支持从多个业务流程中整合数据,企业数据仓库总线矩阵是最关键的架构蓝图,它展现了组织的核心业务流程和关联的维度,重用一致的维度可以缩短产品的上市时间,也消除了冗余设计和开发过程,但一致的维度需要在数据管理和治理方面有较大的投入。  

原则十: 不断平衡需求和现实,提供用户可接受的并能够支持他们决策的DW/BI解决方案  

维度建模需要不断在用户需求和数据源事实之间进行平衡,才能够提交可执行性好的设计,更重要的是,要符合业务的需要,需求和事实之间的平衡是DW/BI从业人员必须面对的事实,无论是你集中在维度建模,还是项目策略: 技术/ETL/BI架构或开发/维护规划都要面对这一事实

原文地址:https://www.cnblogs.com/zhangzefei/p/9939584.html

时间: 2024-08-01 20:00:48

维度建模的基本原则的相关文章

数据仓库专题(2)-Kimball维度建模四步骤

一.前言 四步过程维度建模由Kimball提出,可以做为业务梳理.数据梳理后进行多维数据模型设计的指导流程,但是不能作为数据仓库系统建设的指导流程.本文就相关流程及核心问题进行解读. 二.数据仓库建设流程 以下流程是根据业务系统.组织结构.团队结构现状设定的数据仓库系统建设流程,适合系统结构复杂,团队协作复杂,人员结构复杂的情况,并且数据仓库建设团队和业务系统建设团队不同的情况.具体流程如下图所示: 图1 数据仓库系统建设流程 三.四步维度建模 Kimball四步建模流程适合上述数据仓库系统建设

搭建数据仓库第06篇:逻辑建模–3–维度建模核心之总线架构

目录 前言 维度建模 星型模型 小结 前言 维度建模是Kimball提出来的经典的数据仓库建模思想.维度建模提倡针对某一主题,通过建设维度和事实来快速建设数据仓库.与维度建模相对应的自然是Inmon的范式建模.在上篇也提到范式建模非常适合应用于中间明细层的建设,那么在DW/DM层为什么选择使用维度建模呢?这是第一个问题.维度建模的核心是总线架构,一致性维度,一致性事实.本篇的主题是总线架构,那为什么说维度模型是总线式架构?本篇通过维度建模和星型模型的讲解来分别解释这两个问题. 维度建模 维度模型

为什么要维度建模

凡是建设数据仓库,一定会提到维度建模方法.这一方法是Kimball最先提出的,其最简单的描述就是,按照事实表.维度表来构建数据仓库.数据集市.在维度建模方法体系中,维度是描述事实的角度,如日期.商品.地址等,事实是要度量的指标,如用户数.销售额等.按照一般书籍的介绍,维度建模还会分为星型模型.雪花模型等,各有优缺点,但很少直接回答一个问题,也就是数据仓库为什么要采用维度建模? 这个问题的基本判断在于,数据是否要开放给业务人员使用?采用维度建模构建出来的数据库结构表更加符合普通人的直觉.易于被普通

维度建模的基本概念及过程

摘要:本文首先介绍维度模型中的维度表和事实表这2个基本构成要素的基础知识:其次,介绍设计维度模型的4个基本步骤:再次,围绕某银行为实现业务价值链数据集成的需要,介绍多维体系结构中的3个关键性概念:数据仓库总线结构.一致性维度.一致性事实. 关键词:维度表;事实表;维度模型设计过程;数据仓库总线结构;一致性维度;一致性事实. 0 引言 与流行的说法不同,Ralph Kimball本人并没有定义“维度”和“事实”这样的术语.术语“维度”与“事实”,最初是20世纪60年代在一个由General Mil

数据仓库专题(22):总线架构和维度建模优势-杂项

一.总线架构 维度建模的数据仓库中,有一个概念叫Bus Architecture,中文一般翻译为“总线架构”.总线架构是Kimball的多维体系结构(MD)中的三个关键性概念之一,另两个是一致性维度(Conformed Dimension)和一致性事实(Conformed Fact). 在多维体系结构(MD) 的数据仓库架构中,主导思想是分步建立数据仓库,由数据集市组合成企业的数据仓库.但是,在建立第一个数据集市前,架构师首先要做的就是设计出在整个企业 内具有统一解释的标准化的维度和事实,即一致

数据仓库系列-为什么要维度建模

凡是建设数据仓库,一定会提到维度建模方法.这一方法是Kimball最先提出的,其最简单的描述就是,按照事实表.维度表来构建数据仓库.数据集市.在维度建模方法体系中,维度是描述事实的角度,如日期.商品.地址等,事实是要度量的指标,如用户数.销售额等.按照一般书籍的介绍,维度建模还会分为星型模型.雪花模型等,各有优缺点,但很少直接回答一个问题,也就是数据仓库为什么要采用维度建模? 这个问题的基本判断在于,数据是否要开放给业务人员使用?采用维度建模构建出来的数据库结构表更加符合普通人的直觉.易于被普通

维度建模步骤

原 维度建模步骤 2015年05月15日 10:50:00 阅读数:3553 数据模型是指用实体.属性.实体之间的关系对业务概念和逻辑规则进行统一的定义,命名和编码,主要描述企业的信息需求和业务规则,是业务人员和开发人员沟通的语言,是数据仓库架构设计工作开始的第一步.正确的数据模型是用户需求的集中体现,是商业智能项目成功与否最重要的因素之一.数据模型可以分为概念模型.逻辑模型.物理模型,本节进行详细的介绍. 3.6.1  概念模型 从定义上来说,概念模型是最高层次的数据模型,反映了数据仓库的主要

大数据开发实战:维度建模1-相关概念

1.维度建模相关概念 1.1.度量和环境 维度建模支持对因为过程的支持,这是通过对业务过程度量进行建模来实现的. 那么,什么是度量呢?实际上,通过和业务方.需求方交谈.或者阅读报表.图表等,可以很容易地识别度量. 考虑如下因为需求: a.店铺上个月的销售额如何? b.店铺库存趋势如何? c.店铺的访问情况如何(pv page view 访问量, 即页面浏览量或点击量,衡量网站用户访问的网页数量:在一定统计周期内用户每打开或刷新一个页面就记录1次,多次打开或刷新同一页面则浏览量累计. uv: Un

数据仓库系列之维度建模

上一篇文章我已经简单介绍了数据分析中为啥要建立数据仓库,从本周开始我们开始一起学习数据仓库.学习数据仓库,你一定会了解到两个人:数据仓库之父比尔·恩门(Bill Inmon)和数据仓库权威专家Ralph Kimball.Inmon和Kimball两种DW架构支撑了数据仓库以及商业智能近二十年的发展,其中Inmon主张自上而下的架构,不同的OLTP数据集中到面向主题.集成的.不易失的和时间变化的结构中,用于以后的分析;且数据可以通过下钻到最细层,或者上卷到汇总层;数据集市应该是数据仓库的子集;每个