A recent line of works apply machine learning techniques to assist or rebuild cost-based query optimizers in DBMS. While exhibiting superiority in some benchmarks, their deficiencies, e.g., unstable performance, high training cost, and slow model updating, stem from the inherent hardness of predicting the cost or latency of execution plans using machine learning models. In this paper, we introduce a learning-to-rank query optimizer, called Lero, which builds on top of a native query optimizer and continuously learns to improve the optimization performance. The key observation is that the relative order or rank of plans, rather than the exact cost or latency, is sufficient for query optimization. Lero employs a pairwise approach to train a classifier to compare any two plans and tell which one is better. Such a binary classification task is much easier than the regression task to predict the cost or latency, in terms of model efficiency and accuracy. Rather than building a learned optimizer from scratch, Lero is designed to leverage decades of wisdom of databases and improve the native query optimizer. With its non-intrusive design, Lero can be implemented on top of any existing DBMS with minimal integration efforts. We implement Lero and demonstrate its outstanding performance using PostgreSQL. In our experiments, Lero achieves near optimal performance on several benchmarks. It reduces the plan execution time of the native optimizer in PostgreSQL by up to 70% and other learned query optimizers by up to 37%. Meanwhile, Lero continuously learns and automatically adapts to query workloads and changes in data.
翻译:最近一行工程应用机器学习技术来协助或重建DBMS中基于成本的查询优化器。 在一些基准中表现出优势的同时,由于使用机器学习模型预测执行计划的成本或延迟性,其缺陷(例如,业绩不稳定、培训成本高、模型更新缓慢等)具有内在的难度,原因是使用机器学习模型预测成本或延迟性计划的成本或延迟性。在本文中,我们引入了一个称为Lero的“学习到排序查询优化器”,它建立在本地查询优化器的顶端,不断学习改进优化性能。关键观察是,计划的相对顺序或级别,而不是精确的成本或延迟性能,足以实现查询优化。Lero采用双对式方法培训一个分类师,比较任何两个计划,并告诉哪个计划更好。在模型效率和准确性能方面,这种二元分类比回归任务更容易预测成本或延迟性能。它不是从零开始建立学习的优化器,而是利用数据库几十年的智慧来改进本地查询的优化性能。在非侵入性设计中,Lero可以对一个分类方法进行对比,在最高级的LBS级实验中,在最高级的进度中进行一些LBMSLBER的学习。