Skip to main content
QUICK REVIEW

[论文解读] The Case for Automatic Database Administration using Deep Reinforcement Learning

Ankur Sharma, Felix Schuhknecht|arXiv (Cornell University)|Jan 17, 2018
Optimization and Search Problems参考文献 5被引用 43
一句话总结

本文提出 NoDBA,一种深度强化学习系统,通过从工作负载中学习索引推荐,自动调整数据库管理系统,在有限索引下实现与训练后快速预测的竞争性性能。

ABSTRACT

Like any large software system, a full-fledged DBMS offers an overwhelming amount of configuration knobs. These range from static initialisation parameters like buffer sizes, degree of concurrency, or level of replication to complex runtime decisions like creating a secondary index on a particular column or reorganising the physical layout of the store. To simplify the configuration, industry grade DBMSs are usually shipped with various advisory tools, that provide recommendations for given workloads and machines. However, reality shows that the actual configuration, tuning, and maintenance is usually still done by a human administrator, relying on intuition and experience. Recent work on deep reinforcement learning has shown very promising results in solving problems, that require such a sense of intuition. For instance, it has been applied very successfully in learning how to play complicated games with enormous search spaces. Motivated by these achievements, in this work we explore how deep reinforcement learning can be used to administer a DBMS. First, we will describe how deep reinforcement learning can be used to automatically tune an arbitrary software system like a DBMS by defining a problem environment. Second, we showcase our concept of NoDBA at the concrete example of index selection and evaluate how well it recommends indexes for given workloads.

研究动机与目标

  • 激励具有大量配置参数的大型 DBMS 调优的挑战以及咨询工具的局限性。
  • 提出一个使用深度强化学习(DRL)自动化 DBMS 管理的框架。
  • 通过将 DRL 应用于给定工作负载的自动索引选择来演示 NoDBA。
  • 评估 NoDBA 与无索引以及对合成工作负载对所有列建立索引的比较。

提出的方法

  • 定义一个用于 DBMS 管理的 DRL 环境,包含输入、动作、奖励和超参数。
  • 将工作负载和当前索引配置编码为神经网络输入。
  • 将行动限制为在特定列上创建索引(单列索引)。
  • 基于相对于空索引配置的工作负载成本的改进来定义奖励,使用 cost(L) 计算奖励 r(L)。
  • 使用带经验回放的情节式强化学习进行训练,并在以 PostgreSQL 的 TPC-H LINEITEM 架构构建的合成工作负载上进行评估。

实验结果

研究问题

  • RQ1是否可以使用深度强化学习来自动调整给定工作负载的 DBMS 配置?
  • RQ2与无索引及拥有所有可能索引相比,DRL 学习的自动索引选择有多有效?
  • RQ3在此设置下 NoDBA 的性能影响(训练时间、预测延迟)是什么?
  • RQ4NoDBA 方法在不同工作负载和模式配置下的泛化能力有多好?

主要发现

工作负载NoIndex (ms)IndexedAll (ms)NoDBA (ms)
W1 总计2681.347214.121213.587
W2 总计2629.9701207.002543.251
W3 总计3668.3111871.1123376.955
  • NoDBA 可以达到或超过 NoIndex 基线,在选择性工作负载(W1 和 W2)上接近 IndexedAll。
  • 在最具挑战性的工作负载(W3)中,少量的 3 个索引显著优于 NoIndex。
  • 训练网络大约花费 42 分钟;训练完成后,预测大约需要 20 ms。
  • NoDBA 在 PostgreSQL 的 TPC-H LINEITEM 上进行评估,使用随机的训练工作负载覆盖多种场景。
  • 该研究表明 DRL 可以在不依赖潜在有误的基于成本的估计的情况下对 DBMS 进行调优。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

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