论文部分内容阅读
在以查询计划为执行模型的数据流持续性查询处理中,大多数的自适应方法假设查询是预先确定的,因此可以进行全局性的查询计划优化。与预定义查询不同的是,在实际应用场景中需要对ad-hoc查询的支持。例如对于高速到达的股票数据流,分析人员会针对市场动态即时提交一些流查询来对最新的数据流进行处理和分析以验证自己的判断。数据流上的ad-hoc查询的自适应处理需要及时将查询语义更新到现有的查询计划中以保证已有查询计划的快速在线更新和迁移,同时能自适应不断到达的查询,防止对已有查询计划的结构性破坏。已有的方法实现新旧查询计划的更新需要大量的滑动窗口状态转换工作而耗时较长,无法保证较快的查询响应。 为了解决ad-hoc查询的自适应问题,本文首先提出层状查询计划索引来收集已有查询计划的中间算子输出数据流的分布特性,新的查询若能直接复用已有算子是查询计划增量更新的关键,该索引能即时返回查询所能匹配的中间算子及其置信度。然后,根据查询计划评分模型来对索引返回的算子集合进行筛选,计算出能形成最优查询计划的算子集合并物化到已有的查询计划中,完成查询计划的增量更新。实验表明,本文提出的自适应方法在内存使用程度和响应延迟上都是优于其它方法的。