Page 134 - 《软件学报》2025年第12期
P. 134
荣垂田 等: 多目标深度强化学习驱动的数据库系统参数优化技术 5515
+
量奖励函数 [11] , 例如在 CDBTune 中, 通过线性加权 (设定吞吐量奖励加权系数 0.6, 延迟奖励加权系数 0.4) 来同时
表示吞吐量和延迟的奖励. 然而, 对具体的数据库系统应用来说其吞吐量和延迟的偏好通常是难以提前预知, 并且
随着业务的发展需求也是动态变化的.
(2) 设定固定偏好难以应对不同特征的任务需求. 预先确定某种偏好只能针对特定偏好寻找最优解, 当实际应
用任务对吞吐量和延迟的要求变化时, 就需要重新修改偏好设置并重新训练模型, 难以灵活适应和应对不同需求
的任务. 尽管可以找到可接受的解决方案, 但与系统的最佳效用可能相去甚远.
(3) 基于 DDPG 的强化学习方法其内部使用的奖励机制是基于标量形式的并通过贝尔曼方程 (Bellman
equation) 对其迭代更新 [12] , 存在难以有效对齐偏好和相应的最优策略的问题 [13] , 需要大量训练样本去实现对齐,
并且可能导致次优解的产生. 然而, 在数据库系统参数优化的应用中缺乏现成的训练样本, 需要通过模型与数据库
系统的交互过程中获取训练样本. 每次交互需要重启数据库系统来更新数据库调优参数并使之生效. 因此, 模型训
练的时间成本很高 (MySQL 在模型训练的过程中重启时间从几分钟到十几分钟不等, PostgreSQL 重启需要 2 min
以上).
(4) 已有的相关工作通常只考虑数据库系统性能的提升, 没有将资源利用率作为优化目标.
针对以上问题, 本文提出了一个原生多目标的深度强化学习算法, 可以对数据库系统的参数进行优化以提升
其性能. 本文主要贡献如下.
(1) 将多目标强化学习方法用于数据库系统参数优化任务, 适配数据库系统参数优化这一多目标优化场景.
(2) 针对数据库系统参数优化这一典型的多目标优化任务, 为了避免预先设置偏好带来的繁琐迭代过程和不
利因素, 改进了传统强化学习方法的奖励机制, 提出了原生多目标的深度强化学习算法 N-MODDPG (native multi-
objective DDPG).
(3) 针对多目标优化过程中强化学习的价值网络更新存在的难以对齐偏好和相应的最优策略的问题, 对
N-MODDPG 进行了优化和改进, 实现了 ON-MODDPG (optimized native multi-objective DDPG), 提出基于广义的
Bellman 方程的方法来学习所有可能偏好空间上最优策略的单参数表示, 利用解边界的凸包络更新价值网络的参
数, 可以实现偏好和相应的最优策略的快速对齐, 避免次优解的产生. 该方法可以基于少量训练样本使模型训练达
到较好的性能, 有效加速训练过程.
(4) 针对内存等系统资源受限的场景, 对多目标优化方法进行扩展, 实现了数据库性能与内存资源利用率协同
优化算法 Co-MODDPG (collaborative multi-objective DDPG).
(5) 本文基于 TPC-C 和 SYSBench 测试基准在主流的关系数据库系统上, 对本文提出的方法的性能和有效性
进行了验证, 并与当前最新的相关工作进行了对比分析.
1 数据库系统参数优化的相关工作
近年来, 随着人工智能技术的发展对数据库管理系统的配置参数 (Knobs) 进行自动化调优的工作成为数据库
领域研究的热点. 现有的关于 DBMS 参数优化方面的工作有以下 3 种方法: 基于搜索的方法、基于贝叶斯优化
(Bayesian optimization, BO) 的方法和基于强化学习 (reinforcement learning, RL) 的方法, 详情见后文表 1. 在本节中
将对这 4 种方法分别进行讨论.
1.1 基于搜索的方法
基于搜索的方法着重于在参数空间中使用一些启发式方法寻找最佳性能配置, 如 BestConfig 这是一个在给定
应用程序工作负载下的已部署系统的资源限制内自动查找最佳配置设置的系统, 通过可扩展的采样方法 DDS
(divide and diverge sampling) 和性能优化算法 RBS (recursive bound and search), 能够在给定应用程序工作负载下
的已部署系统的资源限制内自动查找最佳配置 [5] .
然而基于搜索的自动调参方法有两个限制. 首先, 搜索最优配置本身需要花费大量时间; 其次, 每当新的调优
请求到达时, 都需要重新启动搜索过程, 因此无法利用从以前的调优工作中获得的知识.

