Ottertune 阅读

Summary

Ottertune 为一个用于数据库的参数配置自动化工具,调优过程由三个步骤组成:

  1. Workload Characterization ( Workload 特征采集/分析 ): 确定最能代表 target workload 的 metrics

    Knobs affect metrics.

    1. FA (factor analysis): 将 high-dimensional DBMS metric data 转为 low-dimensional data
    2. K-means: Cluster thest lower dimensinal data into meaningful groups.将这些低维因子分组
  2. **Knob Identification (重要参数分析): ** 使用 Lasso 方法确定 Knobs 的重要级排序

    • 计算出哪些参数对性能影响最大及参数间的关系
  3. Automatic Tuner (自动调优)

    • Step#1 - Workload Mapping: 根据已经挑选出的一组metrics,匹配 target DBMS’s workload 与 repository 中历史的 workload 记录。如果某一个配置的工作负载有多个状态值,则取中位值。通过计算当前工作负载和历史负载的向量差,得分最低的则是当前最匹配的工作负载模板。

      For each DBMS version, 都有一个对应的 non-reduncdant matrix $M_{m, i, j}$, 其中 m 为 metrics, i 为workload,j 为 configs

      • 为什么一次 configs 有多个 workload 呢?
    • Step#2 - Configuration Recommendation: Ottertune 使用 Gaussian Process (GP) regression 来推荐能提高 target metric 的 configuration.