论文部分内容阅读
本文讨论了并行数据库中的多查询处理技术,提出了具有自适应性的多阶段并行多查询处理方法MP~2,它比较有效地克服了传统多查询处理方法的缺点。 本文提出并证明了判定公共操作符性质的方法;形式化地描述了强共享和弱共享两类提取方法,证明了其提取公共操作符的正确性,以及重写后查询与原查询的等价性:提出并证明了强弱公共操作符为胖、瘦、普通、全等公共操作符的充要条件;深入分析和比较了不同情况下利用不同性质的强弱公共操作符的代价;提出了一套完整的选择公共操作符提取方法的规则,为提取公共操作符提供了理论依据。 本文提出了一种基于启发式规则的分层搜索加后序遍历搜索的为两个查询并行提取公共子计划的着色算法。该算法通过结点着色和公共操作符聚集来缩减搜索空间和加快搜索过程,它能够对各种操作符进行更细粒度的共享,解决了多连接操作符连接顺序对共享的影响,在一定程度上解决了多个相同集合操作符顺序对共享的影响,并且能够比较有效地消除不同提取方法的干扰。基于此算法又提出了一种为多个查询提取公共子计划的局部合并加全局合并的并行多路分组追加合并方法。 为使多查询代价优化能够并行进行,本文提出了三种在多处理机上分布待优化操作符树的方法;提出了利用单查询优化中间信息的多查询操作符树集合的代价优化;提出了三种不同的计算多查询计划总执行代价的方法。 多查询任务依赖关系的复杂化导致了多查询调度的复杂化。本文提出了一种介于静态和动态之间的启发式任务划分方法,可以较低开销达到类似于动态划分方法的效果。提出了以二维任务依赖图来刻画多查询任务间的复杂依赖关系。提出了以充分利用资源为目标的基于任务依赖图的类深度优先多查询任务调度算法。采用了合并实体化方法来减少公共中间结果集的重复分布。改进了中间结果的封锁机制以及存储和缓冲机制,使之能适应公共中间结果的需要。 除与并行有关的结论外,本文其他结论同样适用于传统关系数据库,可用于改进传统关系数据库中的多查询处理。