返回顶部

论文阅读-Automatic Database Knob Tuning-A Survey

论文标题:Automatic Database Knob Tuning: A Survey
作者:Xinyang Zhao, Xuanhe Zhou, Guoliang Li
关键词:旋钮调优 Knob Tuning, 机器学习 Machine Learning, 旋钮选择 Knob Selection, 特征选择 Feature Selection, 旋钮方法 Tuning Methods

1. 摘要

旋钮调优对数据库优化十分重要,它能够提高数据库性能或提升资源利用率。但是旋钮调优面临着几个共性的挑战

  1. 配置旋钮个数很多,难以确定哪些是性能/资源的瓶颈。
  2. 大部分旋钮是连续变量,导致搜索空间巨大,启发式方法无法在有限时间内高效地找到旋钮设置
  3. 随着云服务的激增,旋钮调优愈发的困难。我们需要对各种场景中大量的数据库实例进行调优(不同应用、数据集、硬件)。

一些基于学习的方法被提出用于解决这些问题。常见的工作流程如下所示

  1. 收集旋钮调优数据
  2. 利用数据训练旋钮调优模型
  3. 使用模型为新的类似的场景推荐旋钮设置,从而实现预期的优化目标

文章认为旋钮调优的流程分为:

  1. 旋钮选择 knob selection:经验方法、排名方法
  2. 特征选择 feature selection:特征离散化、特征聚类
  3. 调优方法 tuning method:启发式方法、贝叶斯优化、深度学习、强化学习
  4. 迁移技术 transfer technique:特征提取和自适应权重转移

img

2. 引言

2.1 调优目标

有两方面的调优目标:

  1. 提高性能:面对并发查询时的吞吐量 throughput、延迟 latency (面对单个查询时的响应时间)
  2. 提高资源利用率/减少代价(以不牺牲性能为前提)

此外,调优方法还通常从下面四个方面进行评估:

  1. 性能 performance:(在特定场景下的是否能实现目标)
  2. 开销 overhead:(该方法需要多少时间或系统资源来推荐旋钮设置)
  3. 适应性 adaptivity:该方法在新的场景下的表现
  4. 安全性 safety:该方法能否防止调整后性能下降
  • 性能开销对离线调优更重要(在克隆机器上)
  • 适应性安全性对在线调优更重要(在生产机器上)

2.2 调优对象

数据库有几百个旋钮,对所有旋钮进行调优会消耗许多时间和系统资源。因此需要选择合适的旋钮进行调优,对性能有重要影响的旋钮进行调优。
如何确定调优对象,面临着两个挑战

  1. 如何衡量旋钮表现之间的关系。旋钮之间的关系是复杂的。
  2. 如何针对不同的调优任务选择重要的旋钮。旋钮对数据库的性能有着不同的、甚至相反的影响。

2.3 多样化的特征 Diversified features for characterizing the tuning requirements

确定了合适的旋钮,另一个问题是如何选取调优特征。

  1. 调优特征通常是在高位空间的,监管许多特征能够反映数据库的状态,许多特征捕获的是相似的调优特征,使得过滤冗余特征变得困难。
  2. 许多调优特征是在不同的领域上(例如查询特征和状态尺度)。将有用的特征合并/嵌入到相同的输入域是一件困难的事情。

2.4 如何调优(巨大的配置搜索空间)

由于多种的旋钮组合,旋钮调优是一个 NP-hard问题。

  1. 即使旋钮的数量被减少,许多旋钮是连续的,搜索空间仍然是巨大的。
  2. 获取调优旋钮是一件昂贵的事情。我们需要在特定设置上执行工作负载来得到反馈,用于更新模型。

传统的方法往往无法意识到多种优化目标和限制,基于学习的方法能够解决这些问题。

2.5 配置迁移

一个旋钮配置无法在多个场景下得到最优的表现。多数现存的机器学习方法无法直接对新的调优任务做出推荐,重新训练需要花费大量的时间。
迁移方法能够将在历史调优任务上训练好的模型迁移到新的任务上。

posted @ 2024-10-18 16:26  Frank23  阅读(0)  评论(0编辑  收藏  举报