论文部分内容阅读
随着计算机水平的不断发展以及数据库规模的日益增大,人们拥有海量需要处理的数据。为了能够提升数据的查询质量与处理效率,数据的使用者需要预先知道数据的结构。键集合信息是理解关系表特征和结构的基础,因此键集合信息的识别越来越受到研究人员的重视。事实上,键集合信息在许多领域都有着重要的应用价值,然而现实场景中的数据往往缺失部分键信息。因此,如何能够准确高效地发现大规模数据集上的键集合信息成为了本文的研究内容。 本文对目前键集合识别技术在国内外的研究现状进行了深入的总结与分析,在此基础上以Hadoop平台作为开发环境,提出并实现了一种基于数据特征的分布式键集合识别方案。本文的主要研究工作包括: 第一,提出并实现了分布式的非键识别方法,该方法以数据的水平分区为基础,结合经典的Gordian算法来识别数据集上的非键,为键集合识别过程中的剪枝策略提供了依据。 第二,基于Hadoop平台设计并实现了多种剪枝方法,包括:冗余剪枝、函数依赖剪枝、乘积剪枝以及数据剪枝等。这些剪枝方法能够减少键识别过程的计算量,提高算法效率。 第三,提出了多种键集合识别方案,包括:孩子节点并行验证的子树并行策略(PSS),同层节点并行验证的层次并行策略(PLS),以及基于数据特征将二者结合的综合解决方案(HUD)。此外,为了提高属性组合之间包含判断的效率,本文使用“位结构”表示属性组合,并在此基础上实现了所有的算法。 本文基于真实数据库PICCBM以及标准测试数据集TPC-H设计对比实验,用以评估和验证本文工作的有效性。实验结果表明,相对于同领域内的其他方案,本文提出的键集合识别算法在保证准确度的情况下,算法性能有显著的提升。