论文部分内容阅读
随着海量数据库在关键业务领域的应用不断增加,提高查询性能日益成为亟待解决的核心问题。在海量数据库应用中存在大量聚集查询,而对海量数据的聚集查询处理往往非常耗时,所以提高聚集查询的处理效率成为优化海量数据库系统查询性能的关键。语义缓存机制通过重用缓存的查询结果优化查询,是一种提高数据库查询效率的有效手段。随着三层结构的广泛应用,中间层语义缓存机制逐渐成为性能优化研究的热点。但是由于缺乏对聚集查询的有效支持,现有语义缓存机制尚无法满足海量数据库应用对聚集查询处理的性能要求。本文在详细分析语义缓存的研究现状及存在问题的基础上,以海量数据库应用为背景,以建立能够优化聚集查询的中间层语义缓存机制为目标,围绕着基于语义缓存的聚集查询处理、语义缓存的管理和语义缓存的一致性维护等语义缓存的关键问题展开了深入研究,主要工作包括:1.提出了一种面向聚集查询的中间层语义缓存机制。该机制将语义缓存定义为语义缓存项的集合,并将语义缓存部署于中间层,由此结合了传送查询和传送数据的优点,同时通过利用用户查询之间的语义联系有效提高了缓存利用率。2.提出了一种基于语义缓存的聚集查询处理机制。该机制讨论了聚集查询与缓存项的匹配,给出了匹配的定义和相应判定方法,同时研究了不同查询匹配类型的聚集查询处理问题,提出了基于语义缓存的聚集查询处理算法。性能测试表明该机制能够显著提高聚集查询处理的性能。3.提出了一种有效的语义缓存管理机制。首先引入虚拟缓存的概念,将缓存划分为虚拟缓存、易失缓存和持久缓存进行管理,增强了缓存管理的灵活性。然后提出在适当条件下将相关语义缓存项进行合并的处理方法,减少了缓存冗余和维护开销。最后提出了最近周期最少使用替换策略LFURC和基于热区的替换策略RBHR。其中,LFURC通过结合时间因素、访问频率因素以及缓存结构的特点,在替换发生时,淘汰在最近周期内访问频率较低的缓存项;RBHR则基于用户访问存在热区的应用特征,通过综合考虑语义缓存项描述中的多种因素,为语义缓存项设定替换值。性能测试表明,虚拟缓存的引入和语义缓存的合并有效提高了系统性能,LFURC和RBHR与传统的LRU和LRC策略相比具有明显优势。4.提出了一种适用于海量数据库应用的语义缓存的一致性维护策略。首先分析了几种典型的一致性维护策略,然后从缓存项视图增量维护的角度出发研究了缓存的一致性维护,最后针对海量数据库应用的特点,提出了一种定时增量维护的策略以保证缓存的一致性。测试结果表明该策略能够有效维护一致性。5.以国家大型工程-大规模事务处理系统为应用背景,基于本文对语义缓存关键技术的研究成果,以并行数据库中间件StarTPMonitor为基础平台,构造并实现了可配置的中间层语义缓存StarCache。测试和在大规模事务处理系统中的应用表明,StarCache有效优化了海量数据库应用的聚集查询性能,能够满足海量数据库应用对聚集查询处理性能的要求。