论文标题

BAO:学习引导查询优化器

Bao: Learning to Steer Query Optimizers

论文作者

Marcus, Ryan, Negi, Parimarjan, Mao, Hongzi, Tatbul, Nesime, Alizadeh, Mohammad, Kraska, Tim

论文摘要

查询优化仍然是数据管理系统中最具挑战性的问题之一。将机器学习技术应用于查询优化挑战的最新努力是有希望的,但是由于实质性培训开销,无法适应变化以及尾巴性能不佳,实际上几乎没有实践收益。由这些困难的动机,并借鉴了多军匪徒的悠久研究历史,我们介绍了Bao(Bandit Optimizer)。 BAO通过提供各种优化提示来利用现有查询优化器中内置的智慧。 BAO将现代树卷积神经网络与汤普森采样相结合,这是一种数十年且经过深入研究的增强算法。结果,BAO自动从错误中学习,并适应查询工作负载,数据和模式的变化。在实验上,我们证明BAO可以快速(比以前的方法快的数量级)学习改善端到端查询执行绩效的策略,包括尾部潜伏期。在云环境中,我们表明,与复杂的商业系统相比,BAO可以提供降低的成本和更好的性能。

Query optimization remains one of the most challenging problems in data management systems. Recent efforts to apply machine learning techniques to query optimization challenges have been promising, but have shown few practical gains due to substantive training overhead, inability to adapt to changes, and poor tail performance. Motivated by these difficulties and drawing upon a long history of research in multi-armed bandits, we introduce Bao (the BAndit Optimizer). Bao takes advantage of the wisdom built into existing query optimizers by providing per-query optimization hints. Bao combines modern tree convolutional neural networks with Thompson sampling, a decades-old and well-studied reinforcement learning algorithm. As a result, Bao automatically learns from its mistakes and adapts to changes in query workloads, data, and schema. Experimentally, we demonstrate that Bao can quickly (an order of magnitude faster than previous approaches) learn strategies that improve end-to-end query execution performance, including tail latency. In cloud environments, we show that Bao can offer both reduced costs and better performance compared with a sophisticated commercial system.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源