机器学习化DBMS系统ottertune源码

一、前言

      数据库管理系统(DBMS)是任何数据密集型应用程序中最重要的组件。它可以处理大量的数据和复杂的负载工作。但是却难以管理,因为它们具有数百个配置选项,用于控制诸如用于缓存的内存量以及将数据写入存储器等因素。企业经常聘请这方便的专家来协助管理,但是专家对许多企业来说成本太高。

     otterTune是由中的学生和研究人员开发的新工具,可以自动为DBMS的配置选项找到最好的设置方法otterTune目标是使任何人都更容易部署数据库管理系统,即使是那些在数据库管理方面没有任何专业知识的人也可以使用它。otterTune与其他DBMS配置工具不同,因为它利用从先前的DBMS部署调整中学到知识。大大减少了调整新的DBMS部署所需的时间和资源。为此,otterTune维护了从以前的调优会话收集的调优数据库。它使用此数据构建机器学习(ML)模型,以捕获DBMS如何响应不同的配置。otterTune使用这些模型来指导新应用程序的实验,推荐改进目标参数的设置(例如,减少延迟或提高吞吐量)。

二、工作原理

       

      在新的调试会话开始时,用户告诉otterTune要优化的目标参数(例如延迟或吞吐量)。客户端控制器连接到目标DBMS并收集其Amazon EC2实例类型和当前配置。

     然后,控制器开始其第一个观察期,在此期间它观察DBMS并记录目标参数。当观察期结束时,控制器从DBMS收集内部指标,如MysqL的计数器,用于从磁盘读取的页面和写入磁盘的页面。控制器将目标参数和内部度量都返回给调优管理器。

     当otterTune的调优管理器收到指标时,它将它们存储在其存储库中。otterTune使用结果来计算控制器应该在目标DBMS上安装的下一个配置。调优管理器将此配置返回给控制器,并估计运行它的预期改进。用户可以决定是继续还是终止调整会话。

   

三、源码部署

         1、下载源码:https://github.com/cmu-db/ottertune

         2、导入到eclipse中(刚导入的时候会发现缺少很多的支持包,但仔细一看里边的文件中有一个build.gradle,这是基于工具Gradle构建的,我们不用一个个去寻找下载其中的jar包,我们只需要在eclipse中集成Gradle插件,然后导入项目,Gradle会根据build.gradle文件里边列出的jar包自动通过网络下载)。

        3、Gradle安装配置参考文章https://www.cnblogs.com/274914765qq/p/4401525.html

                          

             

 

相关文章

安装环境都很简单,就是下载工具需要在华为开发者联盟里注册...
上传的方式有两种,第一种是通过bintray官方出的插件bintray...
转载自: 完美解决Error:SSLpeershutdownincorrectly打开gr...
https://www.jianshu.com/p/9220227cdfb3buildscript{ext.ko...
Markdown版本笔记我的GitHub首页我的博客我的微信我的邮箱My...
 跟着教程做的,已经有了JDK,直接进行后面的步骤,下载安装...