Liu Mengmeng, Ives Zachary G, Loo Boon Thau
@WalmartLabs.
University of Pennsylvania.
Proc ACM SIGMOD Int Conf Manag Data. 2016 Jun-Jul;2016:1705-1720. doi: 10.1145/2882903.2915212.
As declarative query processing techniques expand to the Web, data streams, network routers, and cloud platforms, there is an increasing need to re-plan execution in the presence of unanticipated performance changes. New runtime information may affect which query plan we prefer to run. Adaptive techniques require innovation both in terms of the , and in terms of the that finds the best plan. We investigate how to build a cost-based optimizer that recomputes the optimal plan given new cost information, much as a stream engine constantly updates its outputs given new data. Our implementation especially shows benefits for stream processing workloads. It lays the foundations upon which a variety of novel adaptive optimization algorithms can be built. We start by leveraging the recently proposed approach of formulating query plan enumeration as a set of ; we develop a variety of novel optimization approaches to ensure effective pruning in both static and incremental cases. We further show that the lessons learned in the declarative implementation can be equally applied to more traditional optimizer implementations.
随着声明式查询处理技术扩展到Web、数据流、网络路由器和云平台,在出现意外性能变化时重新规划执行的需求日益增加。新的运行时信息可能会影响我们倾向于运行的查询计划。自适应技术在[此处缺失内容]方面以及在找到最佳计划的[此处缺失内容]方面都需要创新。我们研究如何构建一个基于成本的优化器,该优化器根据新的成本信息重新计算最优计划,就像流引擎根据新数据不断更新其输出一样。我们的实现尤其显示出对流处理工作负载的好处。它为构建各种新颖的自适应优化算法奠定了基础。我们首先利用最近提出的将查询计划枚举表述为一组[此处缺失内容]的方法;我们开发了各种新颖的优化方法,以确保在静态和增量情况下都能进行有效的剪枝。我们进一步表明,在声明式实现中吸取的经验教训同样可以应用于更传统的优化器实现。