- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于维层次语义Cube存储与增量更新技术研究
基于维层次语义Cube存储与增量更新技术研究
摘 要:利用维的层次性为每一个维建立一个索引,同时保存相应的层次信息和预聚集数据,提出了基于维层次的语义Cube。在进行数据更新时,使用更新前后的差值自下而上对受到更新单元影响的祖先节点进行增量更新,在进行模式更新时,无需重构Cube,即可实现增量更新。由于其存储结构的灵活性,在高效完成增量更新的同时实现了Cube上进行上探、下钻等语义操作。理论分析和实验结果均表明,提出的基于维层次的语义Cube与传统Cube相比,性能显著提高。
关键词:数据仓库; 语义Cube; 增量更新
中图分类号:TP311文献标志码:A
文章编号:1001-3695(2007)06-0213-03
随着数据仓库逐渐成为企业决策支持的重要技术手段,如何有效地实现数据仓库及其优化问题日益成为人们重视和关注的焦点之一。数据仓库及其分析工具――OLAP分析往往是基于多维数据模型,它由维和事实度量组成。在该模型中数据通常以数据立方体(Data Cube)形式进行存储[1],通过数据聚集技术和高性能的多维存储结构组织和汇总了大量的聚集数据,为OLAP提供快速的多维信息分析。近年来,许多专家学者先后在Cube聚集计算[2,3]、Cube压缩存储[4-6]、Cube并行计算[7,8]等方面取得了一些成果,在一定程度上提高了Cube的数据查询性能。但这些Cube在数据更新时,重构开销较大,且不能实现Cube增量更新;而且没有保存维的层次及层次关系等语义信息,不能支持Cube在语义上的查询操作;未充分利用维层次属性对数据单元进行簇集存放,在查询和更新时,增加了I/O开销,降低了Cube的查询和更新效率。为此,本文提出了基于维层次的语义Cube,它的基本思想是:利用B??+树为Cube中的每一个维建立索引,同时保存相应的层次信息和预聚集数据,实现了在Cube上进行上探、下钻等语义操作。由于数据仓库系统是一种面向用户的分析型应用系统,必须根据用户的需求不断进行完善和补充,数据仓库的数据和模式要随着分析任务的需要不断更新。如何在基于维层次的语义Cube中高效实现增量更新是本文要讨论的一个主要方面。
1 基于维层次的语义Cube
1.1 存储结构
例如表1是某卖场销售情况的Cube二维表表示,它由地区维、产品维、时间维三个维和一个销售量的度量值构成。其中,地区、产品、时间均是由相应维中的层次所组成的一个有序集。??
表1 一个商品销售情况的Cube二维表表示
定义3(基于维层次的语义Cube,DHSC) 对于维层次组合??,??通过B??+树的维层次属性,对Cube按各个维层次进行分割和分组聚集计算,即在第??i维上依照h??i??进行逻辑划分,并且对于每个逻辑块均进行块内聚集并存储到上一层次的聚集Cube中,则称得到的Cube为维层次组合????所对应的基于维层次的语义Cube。
1.2 基于维层次的语义Cube的创建??
基于维层次的语义Cube是通过数据仓库的建模工具为其各个维创建层次树,从维层次粒度最细的Cube开始,按各个B??+树中的维层次属性,对Cube中粒度较细的各个数据单元(Cell)进行划分成若干个互不相交的分割子Cube,并对每一个分割子Cube的聚集值按维层次前缀进行分组聚集计算,将计算得到的聚集值存储到父Cube中,再对生成的父Cube按维层次粒度由细到粗进行递归地分割和分组聚集计算,直至维层次粒度最粗时为止。其中每个节点包括两个指针(childPtr为指向下一层子Cube的指针,parentPtr为指向上一层父Cube的指针),一个标志(flag,当flag=0时为叶子节点,flag=1时为目录节点),两个存储区域(MBBc表示该节点所包含的范围,采用维层次编码方式来表示,按维层次编码组合的混合编码的Hash函数来计算其存储地址,作为Cube中数据单元的存取依据。chunk用于存储具有相同维层次的多个数据单元cell,其大小以能装入内存为宜,各数据块chunk可以按Cube中节点的层次次序和各个维相应顺序进行簇集存储)。
1.3 Cube语义操作??
上探操作是指在某一维上将低层次的细节数据概括到高层次的汇总数据,或减少维数,而下钻操作是从汇总数据深入到细节数据进行观察或增加新维。??
在基于维层次的语义Cube中,假设数据已经存放在内存或缓存中,利用B??+树中保存的层次信息,上探时,就相当于数据沿着B??+树往上聚集,即沿着parentPtr指针向上对所对应的逻辑块进行聚集计算,下钻时沿childPtr指针向下对所对应的逻辑块进行访问。??
例如,在表1二维Cube所对应的DHSC中,从层次聚集C
文档评论(0)