arXiv cs.LG精选75

何时每个模板只需一个查询?将学习型代价模型适配到新硬件

When Is One Query per Template Enough? Adapting Learned Cost Models to New Hardware

· 1小时前

精选理由

揭示跨硬件迁移成本模型的有效校正方法:每个查询模板测一次即可大幅提升预测精度,并明确其适用边界。

AI 摘要

arXiv:2611.05892v1 公告类型:交叉发布 摘要:用于预测查询运行时间的学习型代价模型是在一台机器的测量数据上训练的。当数据库迁移到其他硬件时,查询计划保持不变,但各自的运行时间会以不同的倍数发生变化。我们研究如何利用在新机器上测量的 k 个查询来适配此类模型:应该运行哪些查询、如何利用它们的运行时间,以及多少个查询才足够。我们在 PostgreSQL 上对 1,162 个 TPC-H 和 TPC-DS 查询的相同执行计划进行了计时,涵盖六种环境:一台笔记本电脑和一台服务器,分别使用全部处理器或绑定到单个处理器;此外,服务器还测试了绑定到两个处理器的情况,笔记本电脑还测试了使用小缓冲池的情况。没有任何单一因子能够描述两个环境之间的减速情况:减速幅度的方差大部分来自查询模板之间的差异,因此,使用少量查询后,速度因子法的效果便不再改善。一种校正方法分别为串行和并行计划拟合直线,并为每个已测量模板添加偏移量;在每个模板仅测量一个查询的情况下,该方法将迁移后模型在 TPC-H 和 TPC-DS 上的误差(各模板 Q-error 中位数的几何平均值)分别降至 1.10 和 1.19,接近对在新机器上训练的模型进行相同校正的效果;而使用相同查询对 DACE 风格的神经代价模型进行微调,最多只能再改善 2%。对于从未测量过的模板,我们尝试的所有校正方法相较于速度因子法,平均改善幅度均不超过 2%。随后,我们固定研究假设,并对新数据进行了计时。在数据规模扩大十倍的 TPC-H 上,误差表现与上述结果一致,但五项重复检验中有两项未能通过。在 Join Order Benchmark 上,同一模板内的查询差异很大,即使在新机器上重新训练,模型误差仍达到 2.36,各种校正方法的改善也都不大,且只有针对新模板的检验仍然成立;提升树和神经模型对这些查询的拟合效果更好,而对神经模型进行校正与微调的效果相当。我们按照预注册内容报告了每一项检验。

查看原文(arXiv cs.LG)