Skip to main content
QUICK REVIEW

[论文解读] UDO: Universal Database Optimization using Reinforcement Learning

Junxiong Wang, Immanuel Trummer|arXiv (Cornell University)|Apr 5, 2021
Cloud Computing and Resource Management参考文献 30被引用 4
一句话总结

UDO 是一种基于强化学习的通用离线数据库优化系统,通过延迟昂贵更改的奖励反馈,联合调优轻量级和重量级参数(如索引、事务代码和系统配置)。它通过智能规划以及对重量级和轻量级参数分别使用马尔可夫决策过程,实现了比基线方法更快的近似最优性能,有效分摊了昂贵的重新配置成本。

ABSTRACT

UDO is a versatile tool for offline tuning of database systems for specific workloads. UDO can consider a variety of tuning choices, reaching from picking transaction code variants over index selections up to database system parameter tuning. UDO uses reinforcement learning to converge to near-optimal configurations, creating and evaluating different configurations via actual query executions (instead of relying on simplifying cost models). To cater to different parameter types, UDO distinguishes heavy parameters (which are expensive to change, e.g. physical design parameters) from light parameters. Specifically for optimizing heavy parameters, UDO uses reinforcement learning algorithms that allow delaying the point at which the reward feedback becomes available. This gives us the freedom to optimize the point in time and the order in which different configurations are created and evaluated (by benchmarking a workload sample). UDO uses a cost-based planner to minimize reconfiguration overheads. For instance, it aims to amortize the creation of expensive data structures by consecutively evaluating configurations using them. We evaluate UDO on Postgres as well as MySQL and on TPC-H as well as TPC-C, optimizing a variety of light and heavy parameters concurrently.

研究动机与目标

  • 解决在不依赖简化成本模型的前提下,对从物理设计到系统配置的广泛数据库调优参数进行优化的挑战。
  • 克服在基于强化学习的调优中,更改昂贵(重量级)参数(如索引创建或服务器重启)带来的高开销问题。
  • 实现相互依赖参数(如索引和配置设置)的联合优化,这些参数会相互影响性能。
  • 开发一个统一框架,对所有调优选择一视同仁,避免为每类参数类型使用独立工具。
  • 证明延迟反馈和重新配置规划在昂贵调优场景中能显著提升收敛速度和解决方案质量。

提出的方法

  • 将参数划分为重量级(更改成本高,如索引创建)和轻量级(更改成本低,如配置标志),以应用定制化的强化学习策略。
  • 对重量级参数使用延迟奖励的强化学习算法,允许将配置成批创建和评估,以分摊昂贵的设置成本。
  • 使用基于成本的规划器来排序配置的创建与评估,通过将相似配置分组(例如, reuse 同一个索引进行多次评估)来最小化重新配置开销。
  • 将每个固定重量级参数设置下的轻量级参数优化建模为独立的马尔可夫决策过程(MDP),以实现针对性的快速收敛。
  • 使用工作负载样本的实际查询执行来测量性能并生成奖励信号,避免依赖预测成本模型。
  • 对轻量级参数应用无延迟强化学习,以在每个重量级参数设置内实现快速适应。

实验结果

研究问题

  • RQ1统一的强化学习框架能否有效同时优化多种数据库调优参数(包括物理设计和系统配置)?
  • RQ2强化学习如何适应高成本的重量级参数更改(如索引创建),同时不降低优化效率?
  • RQ3在数据库调优中,强化学习中的延迟反馈在多大程度上能改善收敛速度并减少重新配置开销?
  • RQ4联合优化相互依赖的参数(如索引和配置设置)是否能带来优于独立调优的性能?
  • RQ5与依赖成本模型或先验训练数据的基线方法相比,UDO 在未见过的工作负载或动态工作负载变化下的泛化能力如何?

主要发现

  • UDO 通过利用延迟反馈和重新配置规划,比基线方法更快地达到近似最优配置,尤其在昂贵的重量级参数调优中表现显著。
  • 在 TPC-H 和 TPC-C 基准测试中,即使基线方法获得了 UDO 的索引建议,UDO 在动态工作负载切换下仍能将查询运行时间减少最多 5%。
  • 当仅使用五个 TPC-H 模板而非二十个进行训练时,泛化性能下降约 40%,但 UDO 的泛化能力与基线方法相当,表明其在无先验训练数据情况下的鲁棒性。
  • UDO 胜过使用查询优化器成本模型进行索引选择的基线方法,即使该成本模型被用于基线,UDO 仍能找到更优的索引集合。
  • 在每个重量级参数设置下为轻量级参数使用独立 MDP,显著加快了收敛速度和适应能力,尤其在重量级参数固定时效果更明显。
  • UDO 的规划组件通过 reuse 同一索引评估多个配置,成功分摊了昂贵索引创建的成本,在某些场景下将总重新配置时间减少了高达 70%。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。