数据仓库系列-为什么要维度建模 20150119docx_第1页
数据仓库系列-为什么要维度建模 20150119docx_第2页
数据仓库系列-为什么要维度建模 20150119docx_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、模型和维度模型。三范式的数据模型示意如下:维度模型示意如下:PK项冃TDFK2商品ID单价数量金额小票序号FK1小票项目PK日期维度TD期日年月曰日期维度表时间维度表PK时间维度TD时间小时分钟秒收银事实表PKPK,FK1PK,FK2PK,FK3PK,FK4小票序号收银员TD商品IDH期维度TD时间维度ID单价数量金额收银员维度表PK收银员ID商品维度表PK商品ID商品名称规格名称以上两个模型的最小数据粒度都是小票项目,可以容易看出来,维度模型是将关系模型的层次结构展开平铺而成。从上面的这个范例可以引出采用维度建模方法的基本理由,就是:数据结构简单。在决定是否要采用维度建模之前,必须回答一个问

3、题,“数据模型是否要开放给业务人员直接使用”,如果答案肯定,则应该采用维度建模的方法。维度模型这个概念有点学术化,但究其本质而言,是将层次化的数据结构展开为单一层次,有点类似于将一个业务过程的数据汇总到一个excel的sheet页中。不过维度建模的代价也很明显,就是其灵活性较差,数据冗余较多,所以,在很多书中提出了一个折中的办法,即“雪花模型”,同时还煞有介事的对比了雪花模型与星型模型(即上面的示例)的优缺点,让很多初学者心中飘来了一个挥之不去的疑问,“既然雪花模型既有关系模型的优点,还有维度模型的优点,为什么还要存在星型模型呢”?。窃以为,这完全是多此一举的做法,维度建模追求的是使用简单,多

4、增加一级关联,增加的使用复杂度就会增加不止一点,会给多数不懂技术的业务人员带来极大的障碍,是一种舍本逐末的做法。基于这种考虑,在建设数据仓库的过程中,明细层和集市层分别采用不同的建模方法,也就是:明细层采用传统的三范式关系模型。这一层次的数据模型要将业务过程描述清楚,将源数据(即业务系统)中隐含的、有歧义的概念进行清晰化,如活跃用户、VIP用户等。该层次的数据模型追求的目标是灵活地表达业务过程,要保证数据一致性、唯一性、正确性,以尽量少的代价与源数据保持数据同步,同时该层次的数据模型不建议开给不懂技术的业务人员直接使用,因此,采用关系型的三范式模型是最佳的选择。集市层采用维度模型。集市层是按照业务主题、分主题构建出来的、面向特定部门或人员的数据集合,该层次的数据模型会开放给业务人员使用,进行数据挖掘及业务分析。由于业务员多数不懂数据库技术,缺少将业务需求转换为关系型数据结构的逻辑思维,更写不出复杂的SQL语句,因此,越简单的数据模型,越能被他们所接受,因此,这个层次所构建出来的数据模型,要按照业务过程进行组织,每个事实表代表一个独立的业务过程,事实表之间不存在直接的依赖关系,这样业务人员可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论