好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数据仓库系列.docx

4页
  • 卖家[上传人]:hs****ma
  • 文档编号:424427909
  • 上传时间:2023-04-12
  • 文档格式:DOCX
  • 文档大小:34.92KB
  • / 4 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 数据仓库系列-为什么要维度建模凡是建设数据仓库,一定会提到维度建模方法这一方法是Kimball最先提出的,其最 简单的描述就是,按照事实表、维度表来构建数据仓库、数据集市在维度建模方法体系中, 维度是描述事实的角度,如日期、商品、地址等,事实是要度量的指标,如用户数、销售额 等按照一般书籍的介绍,维度建模还会分为星型模型、雪花模型等,各有优缺点,但很少 直接回答一个问题,也就是数据仓库为什么要采用维度建模?这个问题的基本判断在于,数据是否要开放给业务人员使用?采用维度建模构建出来 的数据库结构表更加符合普通人的直觉、易于被普通人所理解,从而有利于数据的推广使用 下面以超市收银小票为例说明常规的三范式模型和维度模型三范式的数据模型示意如下:维度模型示意如下:PK项冃TDFK2商品ID 单价 数量 金额 小票序号FK1小票项目PK日期维度TD期日年月曰日期维度表时间维度表PK时间维度TD时间 小时 分钟 秒收银事实表PKPK,FK1PK,FK2PK,FK3PK,FK4小票序号 收银员TD 商品IDH期维度TD 时间维度ID单价 数量 金额收银员维度表PK收银员ID商品维度表PK商品ID商品名称 规格名称以上两个模型的最小数据粒度都是小票项目,可以容易看出来,维度模型是将关系模型 的层次结构展开平铺而成。

      从上面的这个范例可以引出采用维度建模方法的基本理由,就是:数据结构简单在决定是否要采用维度建模之前,必须回答一个问题,“数据模型是否 要开放给业务人员直接使用”,如果答案肯定,则应该采用维度建模的方法维度模型这个 概念有点学术化,但究其本质而言,是将层次化的数据结构展开为单一层次,有点类似于将 一个业务过程的数据汇总到一个 excel 的 sheet 页中不过维度建模的代价也很明显,就是其灵活性较差,数据冗余较多,所以,在很多书中 提出了一个折中的办法,即“雪花模型”,同时还煞有介事的对比了雪花模型与星型模型(即 上面的示例)的优缺点,让很多初学者心中飘来了一个挥之不去的疑问,“既然雪花模型既 有关系模型的优点,还有维度模型的优点,为什么还要存在星型模型呢”?窃以为,这完 全是多此一举的做法,维度建模追求的是使用简单,多增加一级关联,增加的使用复杂度 就会增加不止一点,会给多数不懂技术的业务人员带来极大的障碍,是一种舍本逐末的做 法基于这种考虑,在建设数据仓库的过程中,明细层和集市层分别采用不同的建模方法, 也就是:明细层采用传统的三范式关系模型这一层次的数据模型要将业务过程描述清楚,将 源数据(即业务系统)中隐含的、有歧义的概念进行清晰化,如活跃用户、VIP用户等。

      该 层次的数据模型追求的目标是灵活地表达业务过程,要保证数据一致性、唯一性、正确性, 以尽量少的代价与源数据保持数据同步,同时该层次的数据模型不建议开给不懂技术的业务 人员直接使用,因此,采用关系型的三范式模型是最佳的选择集市层采用维度模型集市层是按照业务主题、分主题构建出来的、面向特定部门或人 员的数据集合,该层次的数据模型会开放给业务人员使用,进行数据挖掘及业务分析由于 业务员多数不懂数据库技术,缺少将业务需求转换为关系型数据结构的逻辑思维,更写不出 复杂的 SQL 语句,因此,越简单的数据模型,越能被他们所接受,因此,这个层次所构建 出来的数据模型,要按照业务过程进行组织,每个事实表代表一个独立的业务过程,事实表 之间不存在直接的依赖关系,这样业务人员可以很容易地将分析需求对应到事实表上,利用 工具或手工写出简单的SQL,将统计数据提取出来进行分析以上,就是数据仓库采用维度建模和关系建模的基本判断。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.