一种确定数据库的配置参数的方法及装置制造方法及图纸

技术编号:26376092 阅读:13 留言:0更新日期:2020-11-19 23:44
本申请公开了一种确定数据库的配置参数的方法,可以应用于数据库管理系统。该方法通过对查询语句进行向量化编码,从而得到查询语句的目标特征向量,然后再根据目标特征向量和所述数据库的当前状态信息这两方面的双状态信息确定用于确定数据库的配置参数集,该配置参数集用于执行所述N个查询语句。本申请实施例提供的方案可以动态的根据查询语句和数据库的当前状态信息确定数据库的配置参数,可以保障数据库在不同负载需求下的良好表现,例如:时延、吞吐量等方面的表现。

【技术实现步骤摘要】
一种确定数据库的配置参数的方法及装置
本申请涉及数据库
,具体涉及一种确定数据库的配置参数的方法及装置。
技术介绍
数据库(database,DB)中存储有海量数据,可以为大量客户端提供数据服务。换句话说,客户端就是数据库的负载。数据库工作时可以基于不同的配置参数运行,对客户端提供不同表现的数据服务。也就是说,若数据库的配置参数与负载的业务相匹配,则数据库提供服务时响应的就会较快,若数据库的配置参数与负载的业务不相匹配,则数据库提供服务时响应的就会较慢。为了更好的为客户端提供服务,数据库运行期间,数据库管理员(databaseadministrator,DBA)会根据负载的情况确定数据库的配置参数。目前,DBA确定数据库的配置参数需要在测试环境中对所要部署的业务进行测试,需要花费大量时间才能确定适合这次业务的数据库的配置参数,而一旦业务发生变化,则需要重新测试。针对网络中随时有可能变化的业务或者负载的数量,这种DBA调参的方式无法满足当前的需求。
技术实现思路
本申请实施例提供一种确定数据库的配置参数的方法,用于动态的根据负载的情况和数据库的当前状态信息确定数据库的配置参数,可以保障数据库在不同负载需求下的良好表现,例如:时延、吞吐量等方面的表现。为达到上述目的,本申请的实施例采用如下技术方案:第一方面,提供一种确定数据库的配置参数的方法,可以包括:获取M个客户端发送的N个查询语句,所述M为大于0的整数,所述N为大于0的整数,且N≥M;从所述N个查询语句中确定N个查询信息,所述N个查询语句与所述N个查询信息一一对应;对所述N个查询信息进行向量化编码,以得到对应的N个目标特征向量,所述N个查询信息与所述N个目标特征向量一一对应;根据所述N个目标特征向量和所述数据库的当前状态信息,确定与所述N个查询语句对应的所述数据库的配置参数集,所述配置参数集包括至少一个目标配置参数组,所述目标配置参数组包括至少一个配置参数,所述配置参数集用于执行所述N个查询语句。上述第一方面提供的技术方案中,在确定配置参数集后可以基于该配置参数集调整数据库当前所使用的配置参数,配置参数的调整方式可以是用当前配置参数集中的配置参数替换数据库当前所使用的配置参数,也可以是通过在数据库当前所使用的配置参数的数值上增加或减少偏移值的方式调整数据库当前所使用的配置参数。该第一方面中可以动态的根据负载的情况和数据库的当前状态信息确定数据库的配置参数,可以保障数据库在不同负载需求下的良好表现,例如:可以满足时延和吞吐量等方面的表现。在第一方面的一种可能的实现方式中,该方法还可以包括:响应于模式选择指令,从查询级别的调参模式、负载级别的调参模式和聚类级别的调参模式中确定用于所述N个查询语句的目标调参数模。也就是说,该种可能的实现方式提供了查询级别的调参模式、负载级别的调参模式和聚类级别的调参模式这三种粒度的调参模式,模式选择指令可以是用户触发的,也可以是数据库管理员触发的,也就是说用户或者数据库管理员可以在不同需求场景下对调参模式进行切换,从而可以满足多种调参需求。在第一方面的一种可能的实现方式中,当所述目标调参模式为所述查询级别的调参模式时,所述M=1,所述N=1,也就是说,针对查询级别的调参模式,可以针对一个查询语句确定一个配置参数集,该配置参数集中包括针对该查询语句的一个目标配置参数组,该一个目标配置参数组用于执行该一个查询语句时配置给数据库。在第一方面的一种可能的实现方式中,当所述目标调参模式为所述负载级别的调参模式时,所述方法还包括:对所述N个目标特征向量进行融合,以得到融合后的统一向量;所述根据所述N个目标特征向量和所述数据库的当前状态信息,确定与所述N个查询语句对应的所述数据库的配置参数集,包括:根据所述统一向量和所述数据库的当前状态信息,确定与所述N个查询语句对应的所述数据库的配置参数集,所述配置参数集包括一个目标配置参数组,所述一个目标配置参数组用于在执行所述N个查询语句时调整所述数据库当前所使用的配置参数。由该第一方面的一种可能的实现方式可知,这种负载级别的调参模式可以为N个查询语句进行一次调参,可以满足大吞吐量的场景需求。在第一方面的一种可能的实现方式中,当所述目标调参模式为所述聚类级别的调参模式时,所述根据所述N个目标特征向量和所述数据库的当前状态信息,确定与所述N个查询语句对应的所述数据库的配置参数集,包括:根据所述N个目标特征向量和所述数据库的当前状态信息,确定N个配置参数组,其中,N个配置参数组与所述N个目标特征向量一一对应;对所述N个配置参数组进行聚类,以得到Q个目标配置参数组,其中,第一配置参数组对应至少一个目标特征向量,所述第一配置参数组为所述Q个目标配置参数组中的任意一个,所述Q为大于0的整数,且Q<N,所述第一配置参数组用于在执行所述至少一个目标特征向量对应的查询语句时调整所述数据库当前所使用的配置参数。由该第一方面的一种可能的实现方式可知,这种聚类级别的调参模式可以针对同类型的查询语句确定一组目标配置参数组,既可以保证较大的吞吐量,又可以满足低时延的需求。在第一方面的一种可能的实现方式中,所述N个查询信息中的第一查询信息包括第一查询类型、第一表信息和查询时所涉及算子的类型和对应的代价信息,所述第一查询信息为所述N个查询信息中的任意一个;所述第一查询类型用于指示所述第一查询信息所对应的查询语句请求对所述数据库的操作类型;所述第一表信息用于指示所述第一查询信息所对应的查询语句被所述数据库执行时所涉及的关系表;所述代价信息用于指示所涉及的算子在执行所述第一查询信息所对应的查询语句时各自的执行代价。在第一方面的一种可能的实现方式中,所述第一查询信息对应的目标特征向量包括第一查询类型的标识和第二查询类型的标识、第一表信息的标识和第二表信息的标识,以及各类型算子的浮点位;其中,所述第一查询类型的标识用第一值表示,所述第二查询类型的标识用第二值表示,所述第二查询类型属于所述数据库的查询类型且未包括在所述第一查询信息中;所述第一表信息的标识用第三值表示,所述第二表信息的标识用第四值表示,所述第二表信息属于所述数据库的表信息且未包括在所述第一查询信息中;所述各类型算子的浮点位上包括对应类型算子的执行代价。该种可能的实现方式中,标识可以是比特位标识,也可以是浮点位标识,当是比特位标识时可以通过1表示第一查询类型,可以通过0表示第二查询类型,也可以通过T来表示第一查询类型,可以通过F表示第二查询类型,或者其他比特位的表示方式也都可以适用于本方案。当是浮点位标识时,可以对所涉及到的所有查询类型都用不同字符做标记,例如:插入(insert)用1表示、选择(select)用2表示、更新(update)用3表示,删除(delete)用4表示,当然,这里只是以这四种查询类型为例进行说明,不限定只有这四种查询类型,也不限于用该处列举的数值的形式表示,也可以通过其他符号或数值的形式来表示不同的查询类型。在第一方面的一种可能的实现方式中,所述对应类型算子的执行代价本文档来自技高网...

【技术保护点】
1.一种确定数据库的配置参数的方法,其特征在于,包括:/n获取M个客户端发送的N个查询语句,所述M为大于0的整数,所述N为大于0的整数,且N≥M;/n从所述N个查询语句中确定N个查询信息,所述N个查询语句与所述N个查询信息一一对应;/n对所述N个查询信息进行向量化编码,以得到对应的N个目标特征向量,所述N个查询信息与所述N个目标特征向量一一对应;/n根据所述N个目标特征向量和所述数据库的当前状态信息,确定与所述N个查询语句对应的所述数据库的配置参数集,所述配置参数集包括至少一个目标配置参数组,所述目标配置参数组包括至少一个配置参数,所述配置参数集用于执行所述N个查询语句。/n

【技术特征摘要】
1.一种确定数据库的配置参数的方法,其特征在于,包括:
获取M个客户端发送的N个查询语句,所述M为大于0的整数,所述N为大于0的整数,且N≥M;
从所述N个查询语句中确定N个查询信息,所述N个查询语句与所述N个查询信息一一对应;
对所述N个查询信息进行向量化编码,以得到对应的N个目标特征向量,所述N个查询信息与所述N个目标特征向量一一对应;
根据所述N个目标特征向量和所述数据库的当前状态信息,确定与所述N个查询语句对应的所述数据库的配置参数集,所述配置参数集包括至少一个目标配置参数组,所述目标配置参数组包括至少一个配置参数,所述配置参数集用于执行所述N个查询语句。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于模式选择指令,从查询级别的调参模式、负载级别的调参模式和聚类级别的调参模式中确定用于所述N个查询语句的目标调参数模。


3.根据权利要求2所述的方法,其特征在于,当所述目标调参模式为所述负载级别的调参模式时,所述方法还包括:
对所述N个目标特征向量进行融合,以得到融合后的统一向量;
所述根据所述N个目标特征向量和所述数据库的当前状态信息,确定与所述N个查询语句对应的所述数据库的配置参数集,包括:
根据所述统一向量和所述数据库的当前状态信息,确定与所述N个查询语句对应的所述数据库的配置参数集,所述配置参数集包括一个目标配置参数组,所述一个目标配置参数组用于在执行所述N个查询语句时调整所述数据库当前所使用的配置参数。


4.根据权利要求2所述的方法,其特征在于,当所述目标调参模式为所述聚类级别的调参模式时,所述根据所述N个目标特征向量和所述数据库的当前状态信息,确定与所述N个查询语句对应的所述数据库的配置参数集,包括:
根据所述N个目标特征向量和所述数据库的当前状态信息,确定N个配置参数组,其中,N个配置参数组与所述N个目标特征向量一一对应;
对所述N个配置参数组进行聚类,以得到Q个目标配置参数组,其中,第一配置参数组对应至少一个目标特征向量,所述第一配置参数组为所述Q个目标配置参数组中的任意一个,所述Q为大于0的整数,且Q<N,所述第一配置参数组用于在执行所述至少一个目标特征向量对应的查询语句时调整所述数据库当前所使用的配置参数。


5.根据权利要求1-4任一项所述的方法,其特征在于,所述N个查询信息中的第一查询信息包括第一查询类型、第一表信息和查询时所涉及算子的类型和对应的代价信息,所述第一查询信息为所述N个查询信息中的任意一个;
所述第一查询类型用于指示所述第一查询信息所对应的查询语句请求对所述数据库的操作类型;
所述第一表信息用于指示所述第一查询信息所对应的查询语句被所述数据库执行时所涉及的关系表;
所述代价信息用于指示所涉及的算子在执行所述第一查询信息所对应的查询语句时各自的执行代价。


6.根据权利要求5所述的方法,其特征在于,
所述第一查询信息对应的目标特征向量包括第一查询类型的标识和第二查询类型的标识、第一表信息的标识和第二表信息的标识,以及各类型算子的浮点位;
其中,所述第一查询类型的标识用第一值表示,所述第二查询类型的标识用第二值表示,所述第二查询类型属于所述数据库的查询类型且未包括在所述第一查询信息中;
所述第一表信息的标识用第三值表示,所述第二表信息的标识用第四值表示,所述第二表信息属于所述数据库的表信息且未包括在所述第一查询信息中;
所述各类型算子的浮点位上包括对应类型算子的执行代价。


7.根据权利要求6所述的方法,其特征在于,
所述对应类型算子的执行代价为归一化后的执行代价。


8.根据权利要求1-7任一项所述的方法,其特征在于,所述根据所述N个目标特征向量和所述数据库的当前状态信息,确定与所述N个查询语句对应的所述数据库的配置参数集,包括:
根据所述N个目标特征向量和所述数据库的当前状态信息,使用双状态深度强化学习DS-DRL模型,确定与所述N个查询语句对应的所述数据库的配置参数集。


9.根据权利要求8所述的方法,其特征在于,所述DS-DRL模型包括预测模型、环境模型和代理模型;
所述根据所述N个目标特征向量和所述数据库的当前状态信息,使用双状态深度强化学习DS-DRL模型,确定与所述N个查询语句对应的所述数据库的配置参数集,包括:
通过所述预测模型,根据所述N个目标特征向量预测所述数据库的状态信息变化量ΔS,所述ΔS是执行所述N个查询语句之后相对于执行所述N个查询语句之前的所述数据库的状态信息的变化量;
通过所述环境模型,根据所述ΔS,以及执行所述N个查询语句之前的所述数据库的状态信息S确定模拟所述N个查询语句执行后的所述数据库的模拟状态信息S’;
通过所述代理模型,根据所述模拟状态信息S’,确定推荐配置参数集;
通过所述环境模型,根据所述推荐配置参数集进行模拟配置,并执行所述N个目标特征向量,以更新所述S和S’,并确定所述N个目标特征向量被执行后的表现值R;
通过所述代理模型,根据所述表现值R更新调参策略,并根据更新后的所述S’确定更新的推荐配置参数集;
若所述表现值R满足预设条件,则确定更新的推荐配置参数集为所述配置参数集;
若所述表现值R不满足预设条件,则重复执行上述环境模型更新所述S以及所述S’,以及所述代理模型确定更新的推荐配置参数集的过程直至表现值R满足预设条件,所述满足预设条件的R值所对应的更新的推荐配置参数集为所述配置参数集。


10.根据权利要求9所述的方法,其特征在于,当所述DS-DRL模型为双状态深度确定性策略梯度算法DS-DDPG模型时,所述代理模型包括角色actor模型和评分critic模型;
所述通过所述代理模型,根据所述模拟状态信息S’,确定推荐配置参数集,包括:
通过所述actor模型,根据所述模拟状态信息S’,确定推荐配置参数集;
通过所述critic模型,根据所述模拟状态信息S’和所述推荐配置参数集,确定所述推荐配置参数集的评分。


11.根据权利要求10所述的方法,其特征在于,所述根据所述表现值R更新调参策略,包括:
通过所述actor模型,根据所述评分更新所述actor模型的权重。


12.根据权利要求10或11所述的方法,其特征在于,所述根据所述表现值R更新调参策略,包括:
通过所述critic模型,根据表现值R,更新所述critic模型的权重。


13.一种确定数据库的配置参数的装置,其特征在于,包括:
获取单元,用于获取M个客户端发送的N个查询语...

【专利技术属性】
技术研发人员:李国良李士福周煊赫高波
申请(专利权)人:华为技术有限公司清华大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1