记录下读的第一篇论文-2021.3.19
Part1 关于论文
本文提出了一种机器学习调优数据库参数的服务。基于c/s的模式,针对不同的调优需求(如文中的吞吐量,时延)选择不同的datasets进行训练,它们都是与当前工作负载最相似的历史数据,为用户“量身定做”最优配置。并保存该优化数据,让以后的模型更精确。
Part2 收获
学习了针对大量参数降维的方法,本文使用因子分析和K-Means聚类选择出了代表性的指标,再通过Lasso回归减少了无关量的影响,得到了指标的重要性排序。在数据库的几百个metrics中选出了十几个最优指标。用高斯过程回归和梯度下降推荐最优配置
学习了一些实验方案:比如三次实验取平均值(记得上次汇报时师兄也是这样做的);不同参数实验结果的对比;纵坐标的选择;本工具和default,其他工具,或是DBA的效果对比…以及在同类实验中,每次实验的结果应该相互独立。还有对不太优秀的实验结果进行合理解释
Part3 一些改进
我的项目和ottertune有类似之处,才发现老师的用心良苦。
我主要结合临床经验和项目背景选择了若干指标进行训练,考虑到疾病提前预测,直接拿掉了某些例如心电图的相关指标。在训练的结果中确实也出现了某些指标的权重偏高或是偏低。这是可以改进的点。
此外,我的系统保存了每次预测的结果。我可以定期的更新模型,将这些数据加入到模型的训练中,让模型更准确。
Part4 思考
Ottertune无法直接调试用户的数据库,我觉得更好的方式是结合机器学习推荐参数以及DBA根据系统的具体硬件资源比如cpu核数,内存大小,磁盘IO,网络负载等来进一步优化。体会到了软件和硬件配置结合是研究发展的趋势。