数据立方体的存储预计算和缩减.pptVIP

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据立方体的存储预计算和缩减.ppt

五邑大学信息学院  何国辉 1. 体系结构--ROLAP(续) 数据仓库的数据模型定义完毕后,来自不同数据源的数据将装入数据仓库中,系统将根据数据模型需要运行相应的综合程序来综合数据。 最终用户的多维分析请求则通过ROLAP服务器动态翻译成SQL请求,然后交给RDBMS服务器来处理SQL,最后查询结果经多维处理(将以关系表存放的结果转换为多维视图)后返回给用户。 MOLAP以多维数组为主要存储结构。 ROLAP以关系表为主要存储结构。 2. 数据存储 3. 数据存取 ROLAP以关系表来模拟多维数据,存取较MOLAP复杂。 MOLAP可以利用多维查询语言MDX,或其它方式直接将用户查询转为MOLAP可以处理的形式。 从以下几方面进行比较: 适应分析维数动态变化方面 适应数据变化方面 适应海量数据方面 适应软硬件的能力方面 结论:各有所长 4. 适应性 多维分析中需要对具有不同综合程度的数据进行查询,因而需要对细节数据进行综合。 综合的过程称为预计算。 5.2 数据立方体的预计算 举例:一个具有时间(T)、商店(S)、产品(P)三个维,度量为销售量(Sales)的事实表。 5.2.1 预计算的相关概念 问题一:查询时间1、商店1中所有产品的销售量 数据仓库中开始时并没有存储任何综合数据,只存储从数据库中抽取来的详细数据(事实表)。 预计算过程:综合数据需要根据事实表数据进行计算,然后将计算结果存储在数据仓库中。 5.2.1 预计算的相关概念(续) 导出关系 上卷操作:从细节数据到综合数据的一种操作。 实现方法:减少维的个数或沿着维的一个层次从底层上卷到高层进行数据综合。 数据如何进行综合? 5.2.2 数据立方格结构 多维数据模型一般用数据立方体表示,一个数据立方体由多个维度和度量组成。 由不同维或维上的不同层可以组合出多个综合数据立方体。 举例:如果有三个维度A、B、C,每个维只有一个层,可以组合8个数据立方体。分别是:ABC、AB、AC、BC、A、B、C、ALL 一般来讲,对于一个n维数据集,如果不考虑层次,它的数据立方体个数为:2n。 5.2.2 数据立方格结构(续) 如果考虑层次,数据立方体的总数是: 其中:Li是维i的层数(没有包括最顶层ALL)。 包含维的个数最多的是事实表,称作为基本数据立方体。 不包含任何维的数据立方体称之为总数据立方体,一般用ALL表示。 5.2.2 数据立方格结构(续) 导出关系定义:如果数据立方体A是由数据立方体B通过减少维的个数得到,则称数据立方体A可以由数据立方体B导出。 5.2.2 数据立方格结构(续) 数据立方格 根据导出关系,可以将所有数据立方体组织成一个格结构,这样的一个格结构称为一个数据立方格。 5.2.2 数据立方格结构(续) A B D C AB AC AD BC BD CD ALL ABC ABD BCD ACD ABCD 数据立方格结构是一个有向图,图中的每一个节点表示一个数据立方体,图中的每一条边表示节点之间的导出关系。 5.2.2 数据立方格结构(续) 在ROLAP中用关系表来存储数据立方体中的数据单元。 ROLAP的一种常用存储方式是将属于不同数据立方体的数据单元存放在单个表中。 5.2.3 数据立方格存储方法 存在问题:表中存在很多冗余的ALL值。 一种方法:将每个数据立方体单独用一个表来存储。 5.2.3 数据立方格存储方法(续) 在存储空间充足的情况下,可以采取将一个完整的数据立方体全部预计算出来,并进行存储的方法。 可以大大加快查询响应时间:以空间换时间策略。 5.3 完整数据立方体的预计算方法 完整数据立方体预计算方法很多。 常用的策略: 尽量一次同时计算多个数据立方体; 对每个数据立方体,计算时尽量选择在数据立方格结构中离自己最近的数据立方体进行聚集计算; 多个数据立方体同时计算时尽量共享排序结果、扫描结果、缓存结果、划分结果等。 5.3 完整数据立方体的预计算方法(续) 几种典型方法: 流水线算法 BUC算法 5.3 完整数据立方体的预计算方法(续) 在数据立方体计算过程中,开销比较大的主要操作时排序。 例如:从表(T,S,P;Sales)计算表(T,S;Sales)时,首先要对(T,S,P;Sales)按照属性TS排序,然后做聚集操作。计算代价巨大。 5.3.1 流水线算法 T S P TSP ALL TS TP SP 流水线算法基本思路:减少排序操作(或者共享排序结果)。 例如:从表(T,S,P;Sales)计算表(T,S;Sales),再从表(T,S;Sales)中计算(T;Sales),最后从(T;Sales)中计算(Sales)。只需对(T,S,P

文档评论(0)

我的文档 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档