数据库系统智能优化
数据库系统的参数配置直接影响其性能和系统资源的利用率。主流的关系数据库管理系统有数百个参数可供调整以获得最佳的性能和服务能力。数据库系统性能的优化通常由经验丰富的数据库管理员(DBA)手动进行,但是由于数据库系统配置参数众多、异构且参数之间的存在复杂的相关性,传统的人工进行参数调优的工作方法效率低、成本高、可复用性差。为了提高数据库系统性能优化的工作效率,数据库系统的自动化参数调优技术成为数据库领域的研究热点.
基于多目标深度强化学习的数据库系统参数优化技术研究
将深度强化学习方法应用于数据库系统参数的自动化优化,可以解决传统机器学习方法依靠大量高质量训练样本、在高维连续空间中难以获取最优参数的难题, 针对已有工作中将数据库系统参数优化的多目标任务通过简单线性转换为单目标优化任务的缺陷,提出了一个原生多目标的深度强化学习算法,可以对数据库系统的参数进行多目标优化以提升其性能和资源利用率.
|
| 基于TPC-C的MySQL数据库参数优化的性能对比 |
|
| 基于TPC-C的PostgreSQL数据库参数优化的性能对比 |
|
| 数据库性能和资源利用率协同优化 |
运行指标(Metrics)感知的数据库系统参数优化技术
基于强化学习的数据库参数调优可通过环境交互实现自主优化,但仍存在明显缺陷:依赖外部基准指标(TPC-C测试的结果)计算奖励、把多目标优化问题简化为带固定权重的单目标问题、优化过程的初始化策略效果差, 优化过程中频繁进行数据库重启带来巨大训练开销.
针对上述问题提出了MR‑MDRL, 一种指标感知的多目标深度强化学习调优方法. 该方法直接读取数据库内部运行指标生成奖励反馈, 引入注意力机制自适应学习冲突优化目标的动态权重; 利用历史调优数据结合遗传算法生成优质初始配置; 并基于容器构建调优框架规避冗余数据库重启, 大幅降低训练耗时.
|
|
| MR‑MDRL方法在MySQL数据库参数优化的效果(基于TPC-C) | |
|
|
| MySQL数据库参数优化的效果(基于TPC-C) | |
|
|
| PostgreSQL数据库参数优化的效果(基于TPC-C) | |
|
|
|
| 多目标优化的吞吐量(MySQL,TPC-C) | 多目标优化的延迟(MySQL,TPC-C) | 多目标优化的内存使用率(MySQL,TPC-C) |
|
|
|
| 优化过程的初始化策略效果 | 模型训练过程中奖励变化 | 训练框架优化的效果 |
基于进化策略的数据库参数调优方法
现有数据库参数调优方法需要大量迭代、 频繁和数据库进行交互、调优过程耗时久、硬件资源开销高. 同时,现有方案无法面向用户指定的性能目标进行定向调优,也很难适配数据库规模的动态变化.
针对以上问题,提出基于进化策略的数据库参数调优系统 CESTune. 该系统通过机器学习训练性能代理预测模型,替代真实数据库基准测试,大幅削减调优成本;支持依据用户给定的性能目标在参数空间内高效检索,直接输出最匹配目标的参数配置;配套迭代微调机制,让代理模型持续迭代学习,能够自适应不断扩张的数据库规模.
|
|
| 模型训练轮次与MySQL数据库吞吐量变化 | 模型训练轮次与MySQL数据库延迟变化 |