论文部分内容阅读
随着信息技术的发展及其在金融、交通、军事、生态环境检测、Web等领域的应用日益深入,海量数据大量涌现,向数据库研究者提出了新的挑战。存储介质的价格/容量比的迅速下降以及数据压缩方法的使用使得海量数据的存储本身并不是问题。问题是:在有效存储海量数据的同时如何有效地处理海量数据上查询以及更新、删除等操作。为此,研究者们开始使用数据压缩技术和数据库技术来研究海量数据的管理问题,产生了压缩数据库技术新研究领域。 本文以现有关系数据库为基础,研究适于数据库数据随机存取方式的数据压缩方法(包括索引压缩方法、海量关系压缩方法和适于特定数据库应用的海量关系压缩方法)、适于压缩数据库的数据操作算法、适于压缩数据库的查询优化方法等。本文的主要研究结果如下: 提出了海量多属性关系的拆分压缩算法。证明了在海量关系中识别频繁属性组合是一个NP完全问题,给出了识别频繁属性组合的贪心算法和遗传算法,证明了拆分压缩方法的完备性,给出了基于拆分压缩的海量关系上的查询处理方法。实验结果表明拆分压缩方法能够有效地压缩海量关系,并有效地提高数据库的整体查询性能。 提出了频率向量索引结构的一种压缩方法,并为其设计了一种有效的存储结构,并对其压缩比进行了理论分析。理论分析和实验结果表明,这种压缩的索引结构能够保证查询结果的完备性并能有效地提高频率向量的存储和查询效率。 针对数据库中海量关系的离线存储特点,给出了海量离线关系的压缩技术并设计了相应的数据操作算法,给出了这种压缩技术在查询处理时性能提高的理论下界。理论分析和实验结果表明,这种压缩技术能有效提高查询海量离线数据的速度。 给出了一个 DNA序列的压缩方法并设计实现了适于该压缩方法的存储结构。该方法能够有效地压缩DNA序列且其解压缩时间是线性的,能够节省DNA序列的存储空间以及下载、传播DNA序列时所需的网络带宽。 给出了压缩多维数据仓库中两个基于BUC思想的IceBerg Cube算法。这两个算法可以在无需解压缩地有效计算Iceberg Cube。算法利用having条件中聚集函数的反单调性避免了大量不必要的计算。算法的输入数据和中间临时数据均以压缩形式存在,计算过程中无需数据解压缩,而且在计算过程中数据量迅速减小。实验结果表明,该算法的性能优于先计算完整 Cube再利用having条件过滤产生Iceberg Cube的方法,且having条件中聚集函数能够有效剪裁掉一些cuboid的计算。 提出通过对查询缓冲池内的查询进行调度,根据查询反馈结果来建立和维护自适应直方图,有效跟踪压缩数据中的热点数据区域、用户查询区域的变化和数据分布的变化,提高了自适应直方图的平均精度。本文还提出了用参数方法来估计数据空间中未被直方图覆盖区域中的查询,并讨论了自适应直方图和参数函数的维护策略。针对压缩海量数据的特征,在真实数据集和人工数据集上进行了大量的实验。实验结果表明,本文的自适应直方图具有较好的平均精度,较快的收敛速度和较强的自适应能力。