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

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


                 进行设计, 以鼓励或抑制特定行为          (动作).
                  2.3   参数优化模型的应用
                    模型经过离线训练之后, 将使用图           6 中描述的过程来为数据库系统推荐优化的配置参数. 首先, 需要将用户的
                 数据库负载回放以获取数据库的状态参数, Actor 网络基于获取的数据库状态参数为数据库系统推荐相应的配置
                 参数. 由于  DDPG  算法是确定性策略梯度方法, 存在动作空间              (参数空间) 探索性不足的缺陷. 为了获取最优的推
                 荐参数, 增加   DDPG  算法对未知参数设置的探索能力, 可以选择在              Actor 网络向前传播的过程中加入噪声, 或者将
                 产生的动作经过      OU (Ornstein-Uhlenbeck) 随机过程处理.

                                                         加入噪声
                                 工作负载回放

                                          数据库状态                       动作

                                                                                   推荐参数
                                  数据库系统         不加入噪声
                                                                 动作
                                                                     OU随机过程
                                                          Actor
                                                  图 6 推荐参数生成的过程

                  3   基于多目标强化学习的数据库参数自动调优方法

                    尽管许多实际问题可以简化为单目标强化学习                 (SORL) 任务, 但这种方式只能在偏好空间中学习“平均”策略,
                 而不能针对特定偏好定制最优策略. 实际上, 许多现实世界的任务需要考虑它们的多目标性质                              [23] . 多目标强化学
                 习  (MORL) 是强化学习   (RL) 的一个子领域, 它试图为至少有两个目标的问题找到最优策略                   [24] .
                    针对数据库系统参数优化这一典型的多目标优化任务, 为了解决相关工作中存在的将多目标优化任务简单线
                 性变换为单目标优化任务带来的缺陷, 本文提出了原生多目标的强化学习算法                           N-MODDPG, 该算法改进了传统
                 强化学习方法中的奖励机制, 避免了模型的重复训练. 为了实现目标偏好和相应的最优策略的快速对齐, 基于广义
                 的  Bellman  方程改进了  DDPG  算法中价值函数的更新方式, 使得价值函数的更新过程能够考虑整个偏好空间, 从
                 而避免次优解的产生, 实现了优化的           ON-MODDPG (optimized native multi-objective DDPG) 算法.
                  3.1   基于多目标强化学习的数据库调优系统
                    本文提出的多目标的强化学习算法             MODDPG  的系统架构     MODBTune, 如图  7  所示. 该系统主要由    3  个模块
                 组成, 分别是数据库系统模块、性能测试模块和系统调优模块.
                    数据库系统模块可以适配主流关系数据库系统                 (MySQL, PostgreSQL  等), 该模块需要为系统调优模块提供数
                 据库状态参数.
                    性能测试模块为模型训练生成工作负载并监测数据库性能, 以及在线参数调优时回放用户的工作负载. 对于
                 数据库性能    (延迟和吞吐量) 的监测, 本文设置每         5 s 采样一次, 然后计算采样结果的平均值用于计算模型的奖励.
                    系统调优模块为数据库系统提供高性能的配置参数. 其中控制器用于协调数据库系统、性能测试和系统调优
                 这  3  个模块的工作.
                    图  7  中  Metrics 表示  DBMS  运行过程中的一些运行时度量指标, 是记录其内部运行的组件活动的计数器. 数
                 据库系统的运行时度量指标使           DBA  和监视工具能够观察系统的行为并诊断性能问题. 运行时度量指标有                      3  种类
                 型: 累积指标、聚合指标和状态指标.
                    累积指标用于计算自某个时间点以来发生的事件数量. 例如, DBMS                    可以记录自启动以来从磁盘读取的页面
                 数. 聚合指标用于记录一个时间窗口内的平均事件数. 例如, 获取表的行锁的平均时间. 状态指标用于记录活动或
   134   135   136   137   138   139   140   141   142   143   144