论文部分内容阅读
Impala系统是Hadoop上的分析型查询数据库,支持高并发的多用户查询。当用户并发数量提升时,用户查询很可能存在相关性。若Impala系统支持多查询优化,对这些相关查询的中间结果加以利用,可以减少冗余操作,从而提升查询性能。由于目前基于IE(Interleaved Execution)算法的多查询优化算法存在局限性,只考虑尽可能多地利用中间结果,而未考虑重用时的时间开销,因此本文提出了基于改进IE算法的Impala系统多查询优化算法。首先通过对比多种代价模型,并结合Impala的系统特性,提出了Impala系统查询代价模型;其次,针对原始IE算法的局限性,在中间结果重用策略上对其进行了改进;同时,为便于在大规模并发环境下对Impala系统多查询优化算法的研究,本文设计并实现了Impala仿真平台,用于对Impala系统进行离散事件仿真;最后,在TPC-DS数据集下,对Impala仿真平台和Impala系统执行查询的响应时间进行对比,验证了Impala仿真平台的准确性;并在Impala仿真平台下进行了多查询优化算法的对比实验,验证了本文提出的多查询优化算法的高效性。