论文部分内容阅读
随着RDF(ResourceDescriptionFramework,资源描述框架)数据的逐渐增多和SPARQL(SPARQL Protocol and RDF Query Language)查询处理场景的日益丰富,查询计划的生成面临很多挑战。一方面,现有的RDF查询处理系统在生成查询计划时比较耗时。另一方面,这些系统在生成查询计划时对代价的估计不够准确,且较少考虑查询执行的并行技术,使得查询执行代价较高。这些因素都会导致系统的整体性能变差。
针对现有查询计划生成方法面临的问题,RDF查询处理系统LHPP采用了基于代价模型的查询计划生成策略,从而生成低开销高并行的查询计划,加速查询执行。首先,LHPP系统提出基于路径的代价模型,采用基于加权流采样的代价估计算法对连接操作进行代价估计,并结合统计信息索引计算三元组模式、连接操作以及连接变量的选择度。然后,系统针对不同连接类型的查询采用了不同的查询计划生成策略。对于星型查询,LHPP系统根据三元组模式的选择度对其排序。对于多连接变量查询,根据三元组模式的选择度生成代价最小的多个查询连接顺序,选取并行度最高的查询连接顺序并生成最终查询计划。最后,LHPP系统对简化后的查询图使用启发式规则优化查询合并顺序。
实验结果表明,相较于RDF查询处理系统RDF-3X中基于动态规划的查询计划生成方法,LHPP系统所用的查询计划生成方法效率更高。与目前流行的RDF查询处理系统RDF-3X以及TripleBit相比,LHPP系统可以更快地处理查询请求。此外,使用BFS(BreadthFirstSearch,广度优先搜索)和DFS(DepthFirstSearch,深度优先搜索)两种查询计划生成方法替换LHPP系统所用的查询计划进行测试,结果表明LHPP系统所用的查询计划更有利于提升系统的运行速度。最后,查询计划扩展性的测试可以看出该查询计划对提高查询执行的并行度起到了一定的促进作用。
针对现有查询计划生成方法面临的问题,RDF查询处理系统LHPP采用了基于代价模型的查询计划生成策略,从而生成低开销高并行的查询计划,加速查询执行。首先,LHPP系统提出基于路径的代价模型,采用基于加权流采样的代价估计算法对连接操作进行代价估计,并结合统计信息索引计算三元组模式、连接操作以及连接变量的选择度。然后,系统针对不同连接类型的查询采用了不同的查询计划生成策略。对于星型查询,LHPP系统根据三元组模式的选择度对其排序。对于多连接变量查询,根据三元组模式的选择度生成代价最小的多个查询连接顺序,选取并行度最高的查询连接顺序并生成最终查询计划。最后,LHPP系统对简化后的查询图使用启发式规则优化查询合并顺序。
实验结果表明,相较于RDF查询处理系统RDF-3X中基于动态规划的查询计划生成方法,LHPP系统所用的查询计划生成方法效率更高。与目前流行的RDF查询处理系统RDF-3X以及TripleBit相比,LHPP系统可以更快地处理查询请求。此外,使用BFS(BreadthFirstSearch,广度优先搜索)和DFS(DepthFirstSearch,深度优先搜索)两种查询计划生成方法替换LHPP系统所用的查询计划进行测试,结果表明LHPP系统所用的查询计划更有利于提升系统的运行速度。最后,查询计划扩展性的测试可以看出该查询计划对提高查询执行的并行度起到了一定的促进作用。