论文部分内容阅读
数据仓库技术是数据库技术的一个研究方向,能够有效的管理传统数据库产生的历史数据,并向各种决策支持应用如联机分析处理、数据挖掘等提供有力的数据支持,适应了企业用户对数据深层次处理的需求。数据仓库是一个环境,而不是一件产品,提供用户用于决策支持的当前和历史数据,这些数据在传统的操作型数据库中很难或不能得到。数据仓库技术是为了有效的把操作型数据集成到统一的环境中以提供决策型数据访问的各种技术和模块的总称。所做的一切都是为了让用户更快、更方便的查询所需要的信息,提供决策支持。数据仓库及其相关技术十年来成为研究和应用的热点。为提供有效的数据访问,大部分数据仓库系统支持索引结构。目前数据仓库中常用的索引结构主要有三种,B-树索引、R-树索引和位图索引。与B-树索引比较起来,位图索引只需要更少的存储空间,而且与B-树索引相比,位图索引将比较、连接和聚集都变成了位逻辑运算,大大减少了运行时间,从而得到性能上的极大的提升。但是很多属性维是分层次的,如时间维属性,分年、月和日三个层次。现存的位图索引往往是建立在某个单一层次上的,没有充分考虑维属性具有层次性这种语义特性,每次只能查询某一层次的记录,既浪费时间也很不方便;没有充分利用维层次特性对事实数据进行快速的分组聚集计算;也没有充分利用维层次编码前缀,来进一步提高分组聚集的操作效率。本文考虑充分利用维属性具有层次性这个特性对维成员进行编码,生成各个成员的维层次编码,用来代替维表中的原关键字,实现维关键字的压缩;通过这种比维表外关键字小得多的维层次编码来代替事实表中的维表外键,快速检索出与检索关键字相匹配的维层次编码,来求得所有维层次属性的查询范围;通过维层次编码及其前缀,可以将OLAP查询中大量的多表连接转换为在维上进行范围查询,大大减少和简化了事实表与维表之间的多表连接,利用维层次编码前缀和分组属性编码就可以直接对事实表中的记录进行分组聚集计算,将结果簇集存储到外存中,大大减少了I/O访问开销,从而提高了OLAP查询效率。