文章标题
Automatic Database Management System Tuning Through Large-scale Machine Learning
作者
- Dana Van Aken, CMU, Pittsburgh, PA, USA
- Andrew Pavlo, CMU, Pittsburgh, PA, USA
- Geoffrey J.Gordon, CMU, Pittsburgh, PA, USA
- Bohan Zhang, Peking University, Beijing, China
来源
Acm International Conference on Management of Data, 2017:1009-1024
摘要
结合监督和非监督的机器学习方法,基于以往的经验和现有的信息,实现了一个自动化的数据库配置调优工具--OtterTune。
内容
贡献点
训练了一个机器学习模型,能够用于:
- select the most important knobs
- map previously unseen database workloads to known workloads
- recommend knob settings that improve a target objective
运用场景
- 两个 OLTP DBMSs(MYSQL v5.6, Postgres v9.3)
- 一个 OLAP DBMS(Actian Vector v4.2)
配置调优的难点
- 有些参数之间具有依赖性
- 有些参数值是连续值
- 配置不可重用
- 经常增加新的参数
OtterTune 简介
1.架构图
2.系统的假设和限制
- controller 要有管理员权限
- 可能需要重启数据库, 并忽略重启的开销
- 保证数据库正确安装
3.数据处理流程
(1)workload characterization 主要有两个内容:一个是收集统计信息, 另一个是减少冗余配置参数(图中画的过程是第二个内容, 用了PA和K-means)
(2)identifying important knobs 主要有三个方面的内容:首先是使用Lasso算法进行特征选择;其次在将原先的模型运用于多项式特征来寻找knobs之间的依赖性;最后使用递增的方式选择最佳的参数数量(备注:这执行这个步骤之前需要进行标称属性转化以及数据标准化)
(3)automated tuning 主要有两个方面的内容:一个是workload mapping 将数据分成n份,利用Euclidean距离得到最相似历史数据; 另一个是 configuration recommendation 采用了 gaussian process regression
4.实验结果
(1)采用递增方式选择最佳的参数数量的有效性
(2)将OtterTune和iTuned进行比较
评注
优点:
1.速度快
2.利用了大量的历史数据
3.基本不需要人工参与,基本实现自动化
4.能够适应不同的数据库管理系统
缺点:
1.训练的过程依旧很长
2.所采用的训练模型都是已有的简单模型
思考与启发
1. 文章中所利用的找关键配置参数方法,应该可以应用于其他系统。
2. 使用online-learning的方式不断提升训练效果
3. gaussian process regression
参考文献
[1] A.A.Soror, U.F.Minhas, A.Aboulnaga, K.Salem, P.Kokosielis, ans S.Kamath.Automatic virtual machine configuration for database workloads.In SigMod, pages 953-966, 2008
[2] K.Dias, M.Ramacher, U.Shaft, V.Venkataramani, and G.Wood.Automatic performance diagnosis and tuning in oracle.In CidR, 2005
[3]D.N.Tran, P.C Huynh, Y.C.Tay, and A.K.H.Tung.A new appraoch to dynamic self-tuning of database buffers.Trans.Storage, 4(1):3:1-3:25, May 2008.