关键词:
参数优化
数据库系统
深度强化学习
多目标优化
性能优化
摘要:
数据库系统的参数配置直接影响其性能和系统资源的利用率.主流的关系数据库管理系统有数百个参数可供调整以获得最佳的性能和服务能力.数据库系统性能的优化通常由经验丰富的数据库管理员(DBA)手动进行,但是由于数据库系统配置参数众多、异构且参数之间的存在复杂的相关性,传统的人工进行参数调优的工作方法效率低、成本高、可复用性差.为了提高数据库系统性能优化的工作效率,数据库系统的自动化参数调优技术成为数据库领域的研究热点.由于强化学习具有与系统运行环境交互、反馈并逐步优化的能力,被广泛应用于复杂系统的优化过程.相关的研究工作将强化学习及其改进方法应用于数据库系统的参数优化,但是都采用单目标优化的方法.实际上,数据库系统的参数优化属于多目标优化任务,且调优工作常在资源受限的情况下进行,因此现有的工作存在一些缺陷:(1)将数据库系统优化任务的多个目标通过简单线性转换为单目标优化问题具有一定的盲目性,需要反复迭代尝试优化,实现成本高;(2)无法应对数据库系统需求的动态变化,适用性差;(3)相关工作使用的强化学习方法本身是属于单目标优化算法,将其应用于多目标任务时,导致难以有效对齐偏好(当前的各个目标的权重系数)和相应的最优策略,可能产生次优解;(4)现有数据库系统参数优化的目标通常仅考虑吞吐量和延迟,未考虑内存等资源的利用率.针对以上问题,设计一种基于多目标深度确定性策略梯度的强化学习算法(MODDPG).该方法是原生多目标的强化学习方法,不需要将数据库系统优化的多目标任务转换为单目标任务,可以高效适应数据库系统需求的动态变化.通过改进强化学习算法的奖励机制可以快速实现偏好与最优策略的对齐,有效避免次优解的产生,提高数据库系统参数优化的效率.为了更进一步验证所提方法的普遍适用性,将提出的多目标优化的方法进行扩展,实现了提升数据库的性能和资源利用率的多目标协同优化.实验部分在主流关系数据库系统上使用TPC-C和SYSBench测试基准对所提参数优化方法的有效性和实用性进行了验证.实验结果表明,所提方法在模型的训练效率和数据库参数优化的作用方面具有明显的优势,并且易于根据优化需求扩展到更多目标.