There is a large body of recent work applying machine learning (ML) techniques to query optimization and query performance prediction in relational database management systems (RDBMSs). However, these works typically ignore the effect of \textit{intra-parallelism} -- a key component used to boost the performance of OLAP queries in practice -- on query performance prediction. In this paper, we take a first step towards filling this gap by studying the problem of \textit{tuning the degree of parallelism (DOP) via ML techniques} in Microsoft SQL Server, a popular commercial RDBMS that allows an individual query to execute using multiple cores. In our study, we cast the problem of DOP tuning as a {\em regression} task, and examine how several popular ML models can help with query performance prediction in a multi-core setting. We explore the design space and perform an extensive experimental study comparing different models against a list of performance metrics, testing how well they generalize in different settings: $(i)$ to queries from the same template, $(ii)$ to queries from a new template, $(iii)$ to instances of different scale, and $(iv)$ to different instances and queries. Our experimental results show that a simple featurization of the input query plan that ignores cost model estimations can accurately predict query performance, capture the speedup trend with respect to the available parallelism, as well as help with automatically choosing an optimal per-query DOP.
翻译:应用机器学习(ML)技术来查询优化和查询相关数据库管理系统(RDBMS)的绩效预测(RDBMS),最近有大量工作应用了机器学习(ML)技术,以查询优化和查询相关数据库管理系统(RDBMS)中的绩效预测。然而,这些工作通常忽略了(textit{Intra-parellism}) -- -- 在实践中提高OLAP查询绩效的一个关键组成部分 -- -- 用于查询性绩效预测。在本文件中,我们为填补这一差距迈出了第一步,方法是研究微软 SQL 服务器中的通过 ML 技术调整平行度的问题。 微软 SQL 服务器是一个广受欢迎的商业 RDBMS,允许个人使用多个核心进行查询。在我们的研究中,我们把 DOP 调整的问题自动地忽略为 exem regregress} 任务, 并研究几个受欢迎的 MLML 模型如何帮助在多核心环境中进行查询性能预测。 我们探索设计空间并进行一项广泛的实验性模型比较不同的模型,测试它们在不同环境中的普及程度: 从同一模板查询, $ (ii) 到从新的模板查询, 从新的进度到不同的进度到不同的进度, 美元, 从新的进度到不同的进度, 显示我们不同的进度到不同的进度, 从一个实验性能到不同的估测算。