Modern analytical workloads are highly heterogeneous and massively complex, making generic query optimizers untenable for many customers and scenarios. As a result, it is important to specialize these optimizers to instances of the workloads. In this paper, we continue a recent line of work in steering a query optimizer towards better plans for a given workload, and make major strides in pushing previous research ideas to production deployment. Along the way we solve several operational challenges including, making steering actions more manageable, keeping the costs of steering within budget, and avoiding unexpected performance regressions in production. Our resulting system, QQ-advisor, essentially externalizes the query planner to a massive offline pipeline for better exploration and specialization. We discuss various aspects of our design and show detailed results over production SCOPE workloads at Microsoft, where the system is currently enabled by default.
翻译:现代分析工作量非常复杂,而且非常复杂,使通用查询优化工具对许多客户和设想方案来说是站不住脚的。因此,必须将这些优化工具专门用于工作量的事例。在本文件中,我们继续最近的工作方针是引导查询优化器为特定工作量制定更好的计划,并在将先前的研究想法推向生产部署方面取得重大进展。在解决若干业务挑战的道路上,包括使指导行动更加易于管理,将指导费用保持在预算范围内,避免生产中出现意外业绩倒退。我们产生的系统“顾问”基本上将查询规划器外部化到一个大型离线管道,以便更好地探索和专业化。我们讨论了我们的设计的各个方面,并展示了微软公司生产SCOPE工作量的详细结果,目前微软公司正是由于默认而启用该系统的。