论文部分内容阅读
数据立方体计算是数据仓库实现的一项基本任务。数据立方体的全部或部分预计算可以大幅度降低查询响应时间,提高联机分析处理性能。然而,这种计算是一种挑战,因为它需要大量计算时间和存储空间。然而研究发现,在数据立方体中存在很多的冗余信息,去掉这些冗余信息,不但可以减少数据立方体的存储空间,而且可以减少数据立方体的生成计算时间,这一点在高维和稀疏数据立方体中表现更为明显。近年来,国内外对基于语义的压缩数据立方体计算开展了不少的研究,作为数据立方体压缩存储技术的一个分支,已经取得了不小的发展,但还存在对复杂多维模型支持不够、查询响应性能不高等不足。
本论文针对以上需求和问题,对基于语义的压缩数据立方体构建方法和查询技术进行了比较全面和深入的研究,提出了若干理论和方法,主要工作和创新成果概括为以下五方面:
1.提出了一种新的立方体语义关系--最佳覆盖视图
数据立方体中基本的语义关系除了从立方体方格机构中获取的上钻和下钻语义外,还有立方体中单元(Cell)的相似性。本论文基于单元格之间的覆盖(cover)关系,提出了一种新的最佳覆盖视图的语义关系,它基于视图来表示立方格,利用视图间的下钻关系记录了单元格之间的下钻关联,从根本上保证了压缩立方体的语义无损,它可以很好地表示维的层次性关系。基于最佳覆盖视图的语义关系构造的压缩立方体(BCV-Cube)具有良好的压缩性能,同时具备比其他基于语义的压缩立方体更高的查询效率。
2.提出了对最佳覆盖视图语义关系的存储结构
发现单元之间的上钻和下钻关系以及单元之间的相似性语义关系后,如何设计一个紧凑的立方体存储结构同样是一个重要的问题。本论文提出了一个新的树结构--BC-Tree。BC-Tree结构满足了我们对立方体存储的三个要求:(a)能够保存每个立方格的所有必要信息,确保语义信息在压缩的过程中不会丢失,语义关系完整;(b)能够更高效的执行各种查询,包括点查询、范围查询、冰山查询;(c)可以有效的维护更新。
3.提出基于语义的压缩数据立方体的增量更新算法
由于数据立方体计算代价巨大,因此,对增量更新的支持程度是评价一个数据立方体压缩算法的重要因素。通常,基本表中的基本单元发生任何变化,都可能影响单元之间的语义关系,需要及时增量更新压缩数据立方体以应对这种变化。本论文中针对基本表的插入,删除和修改三种更新方式,提出了BCV-Cube和BC-Tree的增量更新策略和相关算法。
4.提出了保持语义的压缩数据立方体的查询性能与压缩比例之间的平衡策略
保持语义的压缩数据立方体一方面要减小数据立方体的体积,同时要保证对查询的快速响应性能。现有的以时间换空间的解决方案,在获得高压缩比的情况下却牺牲了查询效率,这有背于联机分析处理需要快速的查询响应时间的要求。本文基于视图查询代价概念,提出了解决保持语义的压缩数据立方体的查询性能与压缩比例之间的平衡的方法。
5.支持对XML数据立方体进行压缩。
随着B2B等应用的推广和普及,可以设想不久的将来大量的商业数据将存储在XML,数据库中。因此,直接对XML数据进行联机分析是一个值得研究的问题。由于XML文档相当臃肿,并且XML,文档结构复杂,因此用XML文档作为存储结构更需要研究计算Cube的压缩算法。本论文利用XML文档具有明显的层次结构特点,结合BC-Tree的数据结构,提出了一种新的XML cube的表示方式,用XML本身的层次结构来表现数据立方体元组之间的聚集关系,该实现方式可以有效地减小XML数据立方体体积。
这些研究成果,已部分在电子政务领域的某些实际项目中得到应用,取得了良好效果。