论文部分内容阅读
信息和互联网技术的迅猛发展导致数据库系统的复杂性和管理成本日益增加。为此,众多研究者提出了自治数据库概念,以实现数据库系统自我管理为目标,主要包括自动化索引/物化视图/表分区推荐和统计信息推荐与维护等。其中统计信息具有强时效性,对数据变化敏感,又是优化器选择最优查询计划的关键性因素,其精确与否将直接影响到查询处理效率,因此尤其需要自动化管理。 现有自动化统计信息管理技术主要采用后台线程定期对数据扫描或采样的方式,对查询处理影响较大,只能离线或在系统负荷低时进行。这会导致统计信息更新不及时。而少数基于查询反馈的技术又因其收集的反馈信息有限和维护方式的局限性,对查询负荷变化不敏感,且在数据扭曲度偏高时会带来很大的估计误差。为此本文提出自适应统计信息管理框架SASM(Self-Adaptive Statistics Management),通过自学习的方式,使用查询反馈信息实现统计信息的自动推荐、收集和维护,不仅维护的统计信息精确性高,而且对查询处理影响小。 对于已有统计信息管理技术中收集统计信息有限、收集代价高等问题,本文提出基于查询计划特性的统计信息收集,在查询执行过程中,充分利用索引扫描、排序等操作的固有属性来收集相关属性上的数据分布等统计信息,不仅能收集到比单纯查询反馈更详细的统计信息,还提高了统计信息收集的效率。 针对已有基于查询反馈的统计信息自动维护技术中后续调整会破坏已有调整结果、数据扭曲度高时误差较大等不足,本文提出自学习柱状图(Self-Learning Histograms,简称SLH)维护策略,使统计信息能从查询反馈中获知自身错误并通过改正错误不断提高自身精度。SLH通过对查询反馈简单编码来记录历史的查询反馈处理过程,在使用新的查询反馈自我求精时,能感知已有求精结果,并避免重新调整已有结果。当统计信息可用空间不足时,SLH通过空间重整在尽可能不降低自身精度的同时释放部分空间,并通过全局重整策略将空间向对当前查询负荷最有益的方向分配来实现统计信息推荐,克服了已有技术中对查询负荷变化不敏感,不能有效利用空间的不足。