Page 133 - 《软件学报》2025年第12期
P. 133

5514                                                      软件学报  2025  年第  36  卷第  12  期


                 一般都有上百个可供调整的参数, 参数之间、参数与数据库性能之间存在着复杂的关系. 数据库系统参数调优的
                 挑战主要来自以下几个方面.
                    (1) 参数的变化对数据库系统性能的影响关系复杂. 如图                 1  所示. 其中, 99%th-tile 表示  99%  的请求完成时间
                 小于等于图    1  中点对应的值. 随着缓冲池大小        (buffer pool size) 的增加数据库系统的延迟先提升后减少, 随后因为
                 存储资源有限, 资源耗尽而延迟增加. 当同时调整缓冲池大小和日志文件大小                        (log file size) 的情况下, 数据库系统
                 的延迟变化趋势更加复杂, 如图         2  所示.


                       3.0
                       2.5
                                                                                                     3.5
                                                                 4.0
                                                                                                     3.0
                       2.0                                       3.5                                 2.5
                      99%th-tile  1.5                           99%th-tile  3.0                      2.0
                                                                 2.5
                                                                                                     1.5
                       1.0                                       2.0                                 1.0
                                                                 1.5
                                                                 1.0
                       0.5                                        0
                                                                    1                              1.4
                                                                      2                          1.2
                                                                        3                     1.0
                        0                                        Buffer pool size (GB)   0.6  0.8
                                                                          4
                         1     2     3    4     5     6                      5  6   0.2  0.4 Log file size (MB)
                                 Buffer pool size (GB)                            0
                        图 1    单个参数的变化对延迟的影响                         图 2    多个参数的变化对延迟的影响
                    (2) 参数空间高维且异构. 数据库系统有数百个配置参数, 有的是连续的                      (innodb_buffer_pool_size  和  tmp_
                 table_size), 有的是离散的  (innodb_stats_method  和  innodb_flush_neighbors). 这两种不同类型的参数在可微性和连
                 续性上有根本的不同       [3] , 造成参数调整的难度和调整的空间不同.
                    (3) 参数的最优设置与负载特征、运行环境高度相关, 具有不可重用性. 面向一种负载特征进行的参数优化结
                 果很难适用于另一种负载情况.
                    (4) 参数数量不断增长. 随着数据库系统的不断发展, 用于调整数据库系统性能的参数数量不断增长.
                    传统的数据库系统参数调优的工作由              DBA  根据工作经验通过人工试错法完成, 调优的过程包括: 根据经验
                 调整数据库系统参数, 然后对当前选择的配置进行性能测试, 根据性能反馈来进一步调整参数. 这种工作方式的时
                 间成本和人力成本较高, 很难在有限时间内达到较好效果                  [4] .
                    为了提高数据库系统参数调优的工作效率, 工业界和学术界开始尝试采用基于搜索                            [5,6] 和学习  [2,7,8] 的方法开展
                                                         [5]
                 自动化参数调优的研究. 基于搜索的方法             BestConfig 可以在给定的资源限制内推荐最佳配置, 但无法利用过往经
                                           [7]
                 验. 基于学习的方法, 如     OtterTune , 它利用机器学习的高斯过程回归          (GPR) 方法来自动学习和推荐参数配置, 但
                 此类方法需要大量的高质量训练样本. 由于高斯过程回归                   (GPR) 方法是在高维连续空间中获取最优参数的过程,
                 基于此方法的数据库系统参数优化难以获得最优解. CDBTune                +[2] 采用基于  DDPG (deep deterministic policy gradient)
                 的深度强化学习方法实现数据库系统参数的自动化优化, 解决了传统机器学习方法依靠大量高质量训练样本、在
                                                       [9]
                 高维连续空间中难以获取最优参数的难题. QTune 基于数据库系统当前的状态信息和                          SQL  查询语句的信息使用
                 两状态的深度确定性策略梯度模型            (double states DDPG, DS-DDPG), 能够在更细粒度的层面上对数据库系统配置
                 参数进行性能优化. Gur 等人      [10] 提出了一种基于   DDPG  的多模型数据库系统参数优化方法, 解决生产环境中可能
                 出现的负载和软件、硬件环境发生变化的情况.
                    以上基于    DDPG  模型的优化方法虽然都取得了一定的效果, 但是都把本质上是多目标优化任务的数据库参
                 数调优, 通过线性组合将多个目标转换成了单个目标, 来使用传统的单目标强化学习模型, 降低了强化学习模型使
                 用的难度, 但也存在以下几个问题需要改进.
                    (1) 提前确定偏好是一项繁琐且具有盲目性的任务. 在训练                 DDPG  模型之前需要根据预先设置的偏好定制标
   128   129   130   131   132   133   134   135   136   137   138