论文部分内容阅读
在数据仓库上的许多决策支持应用需要在大数据量上进行复杂的查询,由于大数据量以及查询的复杂性使得一个查询的执行通常需要很长时间,显然不能满足用户的需求,有时为了提高系统的响应时间,用户可以容忍一些查询结果的精度,因此近似查询处理技术成为有效解决这一问题的方法。数据仓库环境中的许多应用模式都对近似查询技术提出需求。例如,我们在做OLAP分析时,在一个钻取(drill-down)查询序列中,最初查询的目的就是为了决定我们真正感兴趣的数据,给这些查询提供快速、近似的查询结果可以使用户尽快找到有用的数据。在数据仓库上的许多决策支持应用中的查询目的着重于分析数据间的关联关系或发展趋势,有时在做聚集集查询时,对查询结果的要求并不需要精确到小数点。本文主要研究在数据仓库环境中的近似查询处理技术,根据数据仓库中数据和OLAP查询的特点,提出了基于聚类技术的近似查询处理方法(Cluster-based Approximate Query Processing method,简记为CAQP),其主要思想是对数据仓库中数据方体的数据进行分块,每块数据相当于多维空间中的一个点,采用聚类技术对数据方体中的这些数据块聚类,对于每个cluster,使用其中心点的值代表其中所有的数据块,对数据方体进行压缩,以后的查询操作则直接在压缩的数据结构上进行,减少查询处理时的I/O开销,从而提高查询性能。本文首先对聚类技术进行了深入的研究,提出了基于方格和密度的新聚类算法SCARG,它的基本思想是把整个数据空间划分成矩形区域,如果一个区域的密度大于一个阀值,则该区域是一个密集区域,把所有相关联的密集区域连接起来,构成一个Cluster。本文采用移动中心点的技术,对聚类结果进一步细化,提高聚类的精度。SCARG算法兼具了基于方格算法的处理速度和基于密度方法处理任意形状cluster的能力。本文还通过人工合成数据和Benchmark数据进行实验,与其它著名的聚类算法(DBSCAN,CLARANS)对比,验证了SCARG算法的有效性和性能。同时,本文还给出了SCARG算法的并行版本PSCARG,该算法充分利用硬件资源,进一步提高了对海量数据的处理能力。本文在深入研究了聚类技术的基础上,又对基于聚类的近似查询处理的关键技术进行研究,即对于数据仓库中的数据,如何采用聚类技术进行近似查询处理,主要包括数据的预处理、聚类的分层计算以及数据的增量维护算法等。针对数据仓库上的常用操作,本文设计了数据的存储结构,给出了在数据方体压缩结构上进行查询处理的算法,并给出了对查询结果集置信区间的估算方法,并通过实验与抽样技术对比,说明了CAQP方法的有效性和可扩展性。本文对近似扩展数据方体技术进行了研究。近似扩展数据方体是由2n-1个子方体组