CN110019151A - 数据库性能调整方法、装置、设备、系统及存储介质 - Google Patents
数据库性能调整方法、装置、设备、系统及存储介质 Download PDFInfo
- Publication number
- CN110019151A CN110019151A CN201910290722.8A CN201910290722A CN110019151A CN 110019151 A CN110019151 A CN 110019151A CN 201910290722 A CN201910290722 A CN 201910290722A CN 110019151 A CN110019151 A CN 110019151A
- Authority
- CN
- China
- Prior art keywords
- deeply
- target database
- deeply learning
- database
- learning model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000003860 storage Methods 0.000 title claims abstract description 27
- 230000008569 process Effects 0.000 claims description 18
- 230000015654 memory Effects 0.000 claims description 15
- 230000005284 excitation Effects 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 12
- 241000208340 Araliaceae Species 0.000 claims description 8
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims description 8
- 235000003140 Panax quinquefolius Nutrition 0.000 claims description 8
- 235000008434 ginseng Nutrition 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000010801 machine learning Methods 0.000 abstract description 7
- 238000005457 optimization Methods 0.000 abstract description 3
- 238000012549 training Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000013461 design Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据库性能调整方法、装置、设备、系统及存储介质。所述方法包括:接收对应于目标数据库的性能调整请求,该性能调整请求用于请求调整目标数据库的配置参数以优化目标数据库的性能;获取目标数据库的状态指标;将目标数据库的状态指标输入至深度强化学习模型,输出目标数据库的推荐配置参数。本申请提供了一种端到端的数据库性能调整解决方案;克服了相关技术中基于流水线式的机器学习方法,所存在的推荐配置参数不佳,数据库性能调整结果不佳的问题;由于是端到端的解决方案,因此能够克服流水线式的解决方案所存在的上述问题,提高了推荐配置参数的准确性,从而使得数据库的性能调整结果更佳。
Description
技术领域
本申请实施例涉及数据库技术领域,特别涉及一种数据库性能调整方法、装置、设备、系统及存储介质。
背景技术
随着云计算的迅速发展,中小型企业从云服务提供商处购买云数据库系统,从而避免自建和维护数据库系统的情况越来越多,这样可以节约大量的运维资源和人力物力。然而,大多数用户在购买云数据库系统后仅仅停留在使用层面上,在使用过程中云数据库系统的性能会出现下降,用户由于缺少对数据库的管理和调整经验,因此很难发现导致云数据库系统性能下降的问题并有效快速地解决。
对于拥有数以十万计用户的云服务提供商来说,如果完全依赖于DBA(DatabaseAdministrator,数据库管理员)对云数据库系统的实例进行性能调整,这显然是不现实的。在相关技术中,提供了一种数据库性能调整工具——OtterTune。OtterTune是一款基于模型的方法来实现数据库性能调整的工具,其基于大量的历史DBA调参经验数据,并利用一种流水线式的机器学习方法进行收集、处理、分析和推荐可能的数据库配置以提高数据库的性能。具体来讲,采用OtterTune对云数据库系统进行性能调整,可以包括如下几个步骤:第一步利用K-means的方法进行负载特征匹配,第二步采用Lasso的方法对云数据库系统的配置重要性进行排序,最后一步采用GPs的方法输出云数据库系统的推荐配置参数。
由于OtterTune采用流水线式的学习方法,因此前一阶段的最优解决方案并不能保证后一阶段的方案最优,导致模型的不同阶段可能无法很好地互相协作,进而导致该模型提供的推荐配置参数不佳,数据库性能调整结果不佳。
发明内容
本申请实施例提供了一种数据库性能调整方法、装置、设备、系统及存储介质,可用于解决相关技术提供的数据库性能调整方案,提供的推荐配置参数不佳,导致数据库性能调整结果不佳的问题。所述技术方案如下:
一方面,本申请实施例提供一种数据库性能调整方法,所述方法包括:
接收对应于目标数据库的性能调整请求,所述性能调整请求用于请求调整所述目标数据库的配置参数以优化所述目标数据库的性能;
获取所述目标数据库的状态指标;
将所述目标数据库的状态指标输入至深度强化学习模型,输出所述目标数据库的推荐配置参数;其中,所述深度强化学习模型包括第一深度强化学习网络和第二深度强化学习网络,所述第一深度强化学习网络用于提供根据所述状态指标输出所述推荐配置参数的推荐策略,所述第二深度强化学习网络用于对所述第一深度强化学习网络提供的所述推荐策略进行评价。
另一方面,本申请实施例提供一种数据库性能调整系统,所述系统包括:数据库系统、控制器和调整工具;其中,所述调整工具包括:指标收集器、深度强化学习模型和推荐器;
所述控制器,用于接收对应于所述数据库系统中的目标数据库的性能调整请求,所述性能调整请求用于请求调整所述目标数据库的配置参数以优化所述目标数据库的性能;向所述调整工具转发所述性能调整请求;
所述调整工具,用于通过所述指标收集器获取所述目标数据库的状态指标;通过所述深度强化学习模型根据所述目标数据库的状态指标,输出所述目标数据库的推荐配置参数;通过所述推荐器将所述目标数据库的推荐配置参数发送给所述控制器;其中,所述深度强化学习模型包括第一深度强化学习网络和第二深度强化学习网络,所述第一深度强化学习网络用于提供根据所述状态指标输出所述推荐配置参数的推荐策略,所述第二深度强化学习网络用于对所述第一深度强化学习网络提供的所述推荐策略进行评价;
所述控制器,还用于将所述目标数据库的推荐配置参数应用于所述目标数据库中。
另一方面,本申请实施例提供一种数据库性能调整装置,所述方法包括:
请求接收模块,用于接收对应于目标数据库的性能调整请求,所述性能调整请求用于请求调整所述目标数据库的配置参数以优化所述目标数据库的性能;
指标获取模块,用于获取所述目标数据库的状态指标;
参数推荐模块,用于将所述目标数据库的状态指标输入至深度强化学习模型,输出所述目标数据库的推荐配置参数;其中,所述深度强化学习模型包括第一深度强化学习网络和第二深度强化学习网络,所述第一深度强化学习网络用于提供根据所述状态指标输出所述推荐配置参数的推荐策略,所述第二深度强化学习网络用于对所述第一深度强化学习网络提供的所述推荐策略进行评价。
再一方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述数据库性能调整方法。
又一方面,本申请实施例提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述数据库性能调整方法。
又一方面,本申请实施例提供一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述数据库性能调整方法。
本申请实施例提供的技术方案至少包括如下有益效果:
通过深度强化学习模型根据目标数据库的状态指标,输出该目标数据库的推荐配置参数,提供了一种端到端的数据库性能调整解决方案;克服了相关技术中基于流水线式的机器学习方法,所存在的推荐配置参数不佳,数据库性能调整结果不佳的问题;由于是端到端的解决方案,因此能够克服流水线式的解决方案所存在的上述问题,提高了推荐配置参数的准确性,从而使得数据库的性能调整结果更佳。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的数据库性能调整系统的示意图;
图2是本申请一个实施例提供的数据库性能调整方法的流程图;
图3示例性示出了深度强化学习中的六个关键元素的交互示意图;
图4示例性示出了Actor-Critic网络的结构示意图;
图5示例性示出了Actor-Critic网络的各层参数的示意图;
图6是本申请另一个实施例提供的数据库性能调整方法的流程图;
图7至图13示出了几组实验数据的示意图;
图14是本申请一个实施例提供的数据库性能调整装置的框图;
图15是本申请另一个实施例提供的数据库性能调整装置的框图;
图16是本申请一个实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个实施例提供的数据库性能调整系统的示意图。该数据库性能调整系统1可以包括:数据库系统10、控制器20和调整工具30。
数据库系统10是用于提供数据存储服务的系统。在示例性实施例中,该数据库系统10为CDB(cloud database,云数据库)系统。CDB系统可以由云服务提供商搭建,其通常包含多个数据库实例,用于为不同用户提供数据库服务。
控制器20用于在客户端2、数据库系统10和调整工具30之间交互信息。例如,当用户通过客户端2发起针对数据库系统10中的任一数据库实例的性能调整请求时,客户端2可以通过本地接口将性能调整请求发送给服务端,即发送给数据库性能调整系统1中的控制器20,控制器20负责处理该性能调整请求。另外,控制器20还用于接收DBA发起的模型训练请求,并负责处理该模型训练请求,该模型训练请求用于请求对调整工具30中的深度强化学习模型32进行训练。该控制器20的功能可以由一个或多个计算机设备来实现。
调整工具30用于实现对数据库系统10中的数据库实例进行性能调整。在本申请实施例中,调整工具30基于深度强化学习模型32,实现了端到端的数据库性能调整解决方案。在示例性实施例中,当数据库系统10为CDB系统时,调整工具30可以称为CDBTune。该调整工具30的功能可以由一个或多个计算机设备来实现。
在示例性实施例中,调整工具30包括:指标收集器31、深度强化学习模型32和推荐器33。
指标收集器31用于收集待调整的数据库实例的状态指标。状态指标用于指示数据库实例的运行状态,其可以通过“show status”命令获取。指标收集器31可以是计算机设备,也可以是计算机设备中的一个功能模块。
深度强化学习模型32是采用深度强化学习进行训练得到的模型,其实现了端到端的数据库性能调整解决方案。通过将待调整的数据库实例的状态指标输入至深度强化学习模型32,即可由该深度强化学习模型32输出该待调整的数据库实例的推荐配置参数。在示例性实施例中,深度强化学习模型32采用Actor-Critic模型架构,有关Actor-Critic模型架构的具体介绍说明可参见下文实施例。
推荐器33用于将深度强化学习模型32输出的上述推荐配置参数发送给控制器20,再由控制器20将该推荐配置参数应用到待调整的数据库实例中。推荐器33可以是计算机设备,也可以是计算机设备中的一个功能模块。
在示例性实施例中,如图1所示,调整工具30还包括:负载生成器34。负载生成器34用于模拟工作负载或重放用户的真实工作负载,以提高深度强化学习模型32的推荐准确度。负载生成器34可以是计算机设备,也可以是计算机设备中的一个功能模块。
在示例性实施例中,如图1所示,调整工具30还包括:存储池35。存储池35用于存储调整工具30在运行过程中用到的数据,如包括待调整的数据库实例的状态指标、待调整的数据库实例的性能指标、深度强化学习模型32的相关参数,等等。存储池35可以由具有数据存储功能的存储设备来实现。
在本申请实施例中,对数据库进行性能调整,是指调整数据库的配置参数,以优化数据库的性能。
请参考图2,其示出了本申请一个实施例提供的数据库性能调整方法的流程图。该方法可应用于图1所示的数据库性能调整系统1中,如各步骤的执行主体可以是调整工具30。该方法可以包括以下几个步骤(201~203):
步骤201,接收对应于目标数据库的性能调整请求。
目标数据库可以是图1中的数据库系统10;或者,当数据库系统10中包含多个数据库实例时,目标数据库可以是任意一个数据库实例。
性能调整请求用于请求调整目标数据库的配置参数以优化目标数据库的性能。例如,结合参考图1,该性能调整请求可以由客户端2发起,例如当用户发现目标数据库的性能下降,需要对目标数据库进行调参以优化其性能时,可以通过客户端2向数据库性能调整系统1中的控制器20发送性能调整请求,控制器20将该性能调整请求转发给调整工具30进行处理。
步骤202,获取目标数据库的状态指标。
结合参考图1,调整工具30可以通过指标收集器31对目标数据库的状态指标进行监控和采集,进而获取目标数据库的状态指标。目标数据库的状态指标用于指示该目标数据库的运行状态,其可以通过“show status”命令获取。示例性地,目标数据库的状态指标包括但不限于以下至少一项:各种数据库操作的数量、包含数据的页数、当前打开的表的数量、当前打开的文件的数量、缓存中查询的个数、缓冲池总大小、数据读总数量、数据写总数量、读取的页数、写入的页数,等等。
步骤203,将目标数据库的状态指标输入至深度强化学习模型,输出目标数据库的推荐配置参数。
结合参考图1,调整工具30调用深度强化学习模型,将目标数据库的状态指标输入至该深度强化学习模型,由该深度强化学习模型输出目标数据库的推荐配置参数。
为了通过采用深度强化学习来实现端到端的数据库性能调整解决方案,在技术实现时,需要将数据库性能调整方案映射到深度强化学习中的适当操作。如图3所示,其示出了深度强化学习中的六个关键元素的交互示意图,并示出了这六个元素与数据库性能调整方案中各个元素之间的对应关系。
工具(Agent):对应于上文介绍的调整工具(如CDBTune),其主要是由深度强化学习模型构成。该深度强化学习模型可以由深度神经网络实现。该深度强化学习模型的输入参数是数据库的状态指标,输出参数是该数据库的推荐配置参数。该深度强化学习模型用于提供根据状态指标输出推荐配置参数的推荐策略,对该模型的训练过程,实则是对该推荐策略进行调整的过程。例如,通过更新推荐策略(也即调整模型的参数)以指导如何调整数据库配置以获得更高的激励值(即更高的性能)。
环境(Environment):对应于调整目标,即待调整的目标数据库,例如一个待调整的CDB实例。
状态(State):代表目标数据库当前的运行状态,可以通过“show status”命令获取。在示例性实施例中,将时间t的状态记为St。
激励值(Reward,或称为“奖励值”):其是一个标量,表示目标数据库在应用推荐配置参数前后的性能差异。在示例性实施例中,假设目标数据库在时间t的状态指标为St,深度强化学习模型根据该St输出的推荐配置参数为pt,目标数据库在应用该pt之后的激励值可记为rt,表示目标数据库在应用pt前后的性能变化。在示例性实施例中,目标数据库的性能指标包括但不限于以下至少一项:并发、延时,等等。
动作(Action):主要包括目标数据库的可调配置参数的组合。此处的“动作”对应的是一个调参的操作,即将深度强化学习模型输出的推荐配置参数应用于目标数据库中。需要说明的是,每次调参过程中可以增加、不变或减少可调配置参数的参数值。
策略(Policy):定义了调整工具在特定的时间和环境中的行为,即从一个状态到动作的映射关系。此处的“策略”实则是一个深度神经网络,其输入参数是目标数据库的状态指标,输出参数是目标数据库的推荐配置参数(记为Knobs),包括需要执行的数据库配置的参数组合。
深度强化学习通过模型和环境之间的交互过程做出策略决策。与监督学习或无监督学习不同,强化学习是依赖于累计奖励而不是标签来进行训练和学习。深度强化学习的目标就是通过不断地与环境进行互动,基于环境的回报来优化自己的策略,然后通过采集更新的策略来获得更高的回报。在示例性实施例中,通过DDPG(Deep DeterministicPolicy Gradient,深度确定性策略梯度)的深度强化学习方法进行建模,能够使得最终构建的深度强化学习模型提供高维连续空间中的数据库参数配置。
在示例性实施例中,深度强化学习模型包括第一深度强化学习网络和第二深度强化学习网络。其中,第一深度强化学习网络用于提供根据状态指标输出推荐配置参数的推荐策略,第二深度强化学习网络用于对第一深度强化学习网络提供的推荐策略进行评价。例如,第一深度强化学习网络的输入参数包括状态指标,第一深度强化学习网络的输出参数包括推荐配置参数。第二深度强化学习网络的输入参数包括第一深度强化学习网络的输入参数和输出参数,第二深度强化学习网络的输出参数包括打分值,该打分值用于对第一深度强化学习网络提供的推荐策略进行评价。
在示例性实施例中,深度强化学习模型采用Actor-Critic模型架构,上述第一深度强化学习网络即为Actor网络,第二深度强化学习网络即为Critic网络。如图4所示,Actor网络的输入参数为数据库的状态指标,输出参数为数据库的推荐配置参数。Critic网络的输入参数包括两部分,一部分为Actor网络的输入参数(即数据库的状态指标),另一部分为Actor网络的输出参数(即数据库的推荐配置参数),Critic网络的输出参数为一个打分值,用于表示Actor网络的输入输出组合的“合理程度”,通过该打分值以期对Actor网络进行修正,使得Actor网络的输入输出组合更加合理。
在示例性实施例中,Actor网络和Critic网络的结构如图5所示。图5示例性示出了Actor网络的各个层级和各个层级的相关参数,以及Critic网络的各个层级和各个层级的相关参数。需要说明的是,图5所示的网络结构和参数仅是示例性和解释性的,并不用于对本申请技术方案构成限定。
另外,Actor网络可以选用以动作概率为基础的强化学习算法,如PolicyGradients(策略梯度)算法;Critic网络可以选用以值为基础的强化学习算法,如Qlearning算法。
综上所述,本申请实施例提供的技术方案中,通过深度强化学习模型根据目标数据库的状态指标,输出该目标数据库的推荐配置参数,提供了一种端到端的数据库性能调整解决方案;克服了相关技术中基于流水线式的机器学习方法,所存在的推荐配置参数不佳,数据库性能调整结果不佳的问题;由于是端到端的解决方案,因此能够克服流水线式的解决方案所存在的上述问题,提高了推荐配置参数的准确性,从而使得数据库的性能调整结果更佳。
另外,本申请实施例提供的技术方案中,深度强化学习模型直接输出目标数据库的推荐配置参数,后续直接将该推荐配置参数应用于目标数据库即可,相比于通过模型输出诸如增大、减小、不变等调整数据,后续由用户再根据调整数据和原始配置参数确定出调整后配置参数的方案,本申请实施例提供的技术方案一方面更加简单,不需要用户再执行一步根据调整数据和原始配置参数确定出调整后配置参数的步骤,另一方面更加准确,用户根据调整数据和原始配置参数确定出的调整后配置参数不一定准确,因为用户无法准确把握调整量,很可能调整地过大或过小,无法将数据库性能调整至最优,但由模型直接输出推荐配置参数可以避免上述问题。
另外,本申请实施例提供的技术方案中,深度强化学习模型采用Actor-Critic模型架构,相比于单独采用Q Learning算法或单独采用Policy Gradients算法构建模型,采用Actor-Critic模型架构能够兼具如下两点优势:1、Actor-Critic模型的Actor网络可以选用以动作概率为基础的强化学习算法,如Policy Gradients算法,能够从连续变量中找出推荐参数,由于数据库的配置参数大多是连续变量,因此Actor-Critic模型更加适合数据库的配置参数推荐;2、Actor-Critic模型的Critic网络可以选用Q learning算法或者其它以值为基础的强化学习算法,能够进行单步更新,而非回合更新,因此模型的学习效率更高。
请参考图6,其示出了本申请另一个实施例提供的数据库性能调整方法的流程图。该方法可应用于图1所示的数据库性能调整系统1中,如各步骤的执行主体可以是调整工具30。该方法可以包括以下几个步骤(601~605):
步骤601,接收对应于目标数据库的性能调整请求。
步骤602,获取目标数据库的状态指标。
步骤601-602与图2实施例中的步骤201-202相同,参见图2实施例中的介绍说明,此处不再赘述。
步骤603,调用标准的深度强化学习模型。
标准的深度强化学习模型是采用标准数据库实例进行训练得到的。标准数据库实例是指预先选择的一些数据库实例,而非用户实际使用的数据库实例。
步骤604,对标准的深度强化学习模型进行再训练,得到调整后的深度强化学习模型。
在本申请实施例中,调整工具在为目标数据库提供推荐配置参数时,并非直接使用标准的深度强化学习模型,而是先对该标准的深度强化学习模型进行再训练,得到调整后的深度强化学习模型。该调整后的深度强化学习模型用于提供目标数据库的推荐配置参数。由于调整后的深度强化学习模型学习了目标数据库的特征,因此其提供的目标数据库的推荐配置参数更加准确。
在示例性实施例中,本步骤包括如下几个子步骤:
1、重放目标数据库的实际工作负载;
重放目标数据库的真实工作负载,意思是将目标数据库在历史时间内执行的语句重新执行一遍,以回顾目标数据库的历史工作情况。结合参考图1,调整工具30通过负载生成器34重放目标数据库的实际工作负载。例如,重放目标数据库在最近时段内的实际工作负载,该最近时段可以根据实际需求预先设定,如30分钟、1小时、12小时、1天,等等。负载生成器34可以根据目标数据库的日志信息,重放目标数据库在最近时段内的实际工作负载。例如,日志信息中记录目标数据库在最近1小时内依次执行了若干条SQL(StructuredQuery Language,结构化查询语言)语句,则负载生成器34控制目标数据库回退到最近1小时之前的状态,然后重新执行上述若干条SQL语句,且每条SQL语句的执行时间和顺序与日志信息中记录的情况相同,从而实现重放实际工作负载。
2、在目标数据库按照实际工作负载运行的过程中,对标准的深度强化学习模型执行至少一轮再训练过程;
在示例性实施例中,深度强化学习模型包括上文介绍的第一深度强化学习网络和第二深度强化学习网络。上述对标准的深度强化学习模型执行至少一轮再训练过程,可以包括如下步骤:
2.1、在第i轮再训练过程中,获取目标数据库的第i轮状态指标,i为正整数;
2.2、将第i轮状态指标输入至第一深度强化学习网络,输出目标数据库的第i轮推荐配置参数;
2.3、将第i轮推荐配置参数应用于目标数据库中;
2.4、将第i轮状态指标和第i轮推荐配置参数输入至第二深度强化学习网络,输出第一深度强化学习网络对应的打分值;
2.5、根据打分值调整第一深度强化学习网络的参数,以使得第一深度强化学习网络对应的激励值提升。
其中,激励值用于指示目标数据库在应用第i轮推荐配置参数前后的性能差异。在示例性实施例中,在将第i轮推荐配置参数应用于目标数据库中之后,通过采集目标数据库的第i轮性能指标,根据该第i轮性能指标,计算第一深度强化学习网络对应的激励值。
在本申请实施例中,采用强化学习中的奖励反馈机制而不是传统机器学习中的回归方法训练模型,这样可以实现端到端学习,并加快模型的收敛速度,提高再训练过程的效率。
3、当标准的深度强化学习模型满足停止训练条件时,停止训练该标准的深度强化学习模型,得到调整后的深度强化学习模型。
停止训练条件可以预先设定,如再训练过程的执行论述达到预设轮数、再训练过程的执行时长达到预设时长、模型的推荐精度达到预设精度等,本申请实施例对此不作限定。
步骤605,将目标数据库的状态指标输入至调整后的深度强化学习模型,输出目标数据库的推荐配置参数。
结合参考图1,调整工具30在对标准的深度强化学习模型进行再训练,得到调整后的深度强化学习模型之后,将目标数据库的状态指标输入至该调整后的深度强化学习模型,由该调整后的深度强化学习模型输出目标数据库的推荐配置参数。
需要说明的一点是,采用标准数据库实例训练得到标准的深度强化学习模型的过程,与上文介绍的再训练过程相类似,本申请实施例对此不再赘述。另外,传统的机器学习方法依赖于大量高质量的训练数据,这在现实环境中是难以获取的,采用深度强化学习方法对模型进行训练,采用试错的方式仅利用少量有限的样本即可训练出能够推荐出合适的数据库配置参数的模型。
综上所述,本申请实施例提供的技术方案中,还通过对标准的深度强化学习模型进行再训练,得到调整后的深度强化学习模型,然后通过该调整后的深度强化学习模型输出目标数据库的推荐配置参数。由于调整后的深度强化学习模型学习了目标数据库的负载特征,因此其提供的目标数据库的推荐配置参数更加准确。
以数据库系统为CDB系统,上文介绍的调整工具称为CDBTune为例,分别采用不同的实验负载和不同的数据库实例进行试验,主要的实验结果如下。
1、效率比较
(1)执行时间方面:对于一次调参过程,CDBTune大约花费25分钟的时间。OtterTune大约花费55分钟,DBA需要花费8.6小时。这里需要说明的是,CDBTune需要进行离线训练,得到上文介绍的标准的深度强化学习模型,但这种离线训练是一次性的。在线推荐时,仅需对标准的深度强化学习模型进行再训练,也即对标准的深度强化学习模型进行微小调整,使其适应待调整的目标数据库,以便获得更优的推荐配置参数和性能调整结果。
(2)不同在线推荐步数(step)对推荐结果的影响:通过采用了三种由Sysbench(一种数据库功能及性能测试工具)产生的负载(只读、只写、读写混合)分别比较了不同的在线推荐步数对CDBTune、DBA和OtterTune提供的推荐配置参数对数据库性能的影响。实验结果如图7所示。从图7中,我们很明显观察到,随着在线推荐步数的增加,CDBTune对模型的微调逐渐适应当前的工作业务负载,从而可以不断改进性能。而OtterTune和DBA的推荐配置的数据库性能(并发和延时)却基本上没有很大的提升。这表明CDBTune具有高效率,因此我们相信CDBTune确实从过去的经验中汲取知识并且表现出色。当然,从图7中也可以观察到如果接受更长的调整时间(更多的在线推荐步数),用户将获得更好的配置以实现更高的性能。然而,OtterTune随着迭代次数的增加而基本保持稳定,这是由监督学习和回归方法的特点而引起的。
2、有效性比较
通过整理出CDB中所有可以调整的配置参数,一共266个,并在真实的CDB实例上进行相关的实验。
(1)由DBA或者OtterTune选出的待调配置参数:图8中(a)部分示出了基于DBA提供的待调配置参数的重要程度排序结果测得的实验数据,图8中(b)部分示出了基于OtterTune提供的待调配置参数的重要程度排序结果测得的实验数据。横坐标表示可调配置参数的个数。图8示出了随着可调配置参数的个数逐渐增加,数据库的并发和延时发生的变化曲线。从两个图可以看出,CDBTune在所有情况下都表现了良好的性能,注意到DBA和OtterTune在配置参数个数达到一定程度时性能就开始下降了,造成这样结果的原因是众多参数之间的依赖关系使得DBA和OtterTune无法在如此高维的空间中找到合适的组合。
(2)CDBTune随机选择待调配置参数
CDBTune随机选择不同数量的待调配置参数。值得注意的是,在选40个参数时,一定会包含之前已经选的20个参数。在这种情况下记录CDB在TPC-C负载下的性能。图9分别是随着模型收敛时迭代次数的变化,数据库的并发和延时的变化过程。可以看出,随着配置参数个数的增加,CDBTune提供的推荐配置参数对应的数据库性能不断得到提升。同时模型达到收敛需要迭代的次数也在一定程度有所增加。这主要是由于神经网络的规模变得更大,参数变得更多,越难收敛。除此之外,这也说明CDBTune无需像DBA和OtterTune一样需要额外的步骤对配置参数的重要性进行排序,CDBTune通过深度神经网络自动完成这个过程(特征提取),这也符合本申请的设计初衷。
3、性能提升
在公平的环境下,利用Sysbench的只读、只写和读写混合三种负载类型对比了CDBTune和MySQL默认配置,CDB默认配置,OtterTune,BestConfig和DBA提供的推荐配置参数对应的数据库性能。我们从图10可以看出,无论是从并发还是延时的角度,CDBTune都表现得最好。
4、其他类型数据库上的性能提升
除了CDB,也在本地MySQL,MongoDB,Postgres等一些其他类型数据库上利用不同的负载上进行相应的实验,得到了相同的结果,实验结果如下图11所示,CDBTune表现出更高的并发和最低的延时。在图11中,(a)、(b)和(c)三部分图示分别表示3种不同负载上的实验数据。
5、模型的适应能力
(1)内存大小和磁盘大小上的模型适应能力
与本地自建的数据库相比,云数据库的一大优势就是具备相当的可扩展能力。通常来说,随着用户业务的需求,内存和磁盘的大小是用户在使用过程中经常调整的两个特性。因此,当内存或者磁盘的大小被用户调整后,CDBTune不可能因此去相应地重新训练模型。因此,在云环境下,我们就更希望CDBTune具有一定的可适应性。因此在用户内存和磁盘大小改变的情况下,不重新训练深度强化学习模型进行配置推荐,得到的实验结果如图12所示。
从图12所示的实验结果可以看出,当用户的内存或磁盘大小发生变化时,CDBTune的模型无须重新训练就可以得到与重新训练的模型基本一样的性能。从这里看出CDBTune在硬件环境发生一定变化时,模型具有良好的适应能力。
(2)负载变化时模型的适应能力
除了用户的内存和磁盘的大小会发生变化,为了验证负载的变化是否也会影响CDBTune的适应能力,利用在Sysbench读写混合的负载上训练得到的模型去为TPC-C负载下推荐配置,实验结果如图13所示。
从图13所示的实验结果可以说明,CDBTune在负载发生变化时,与重新训练的模型得到的数据库性能几乎没有差别,这证明CDBTune在负载发生一定程度变化时无需重新建立新的模型,并拥有较好的适应能力。
下述为本申请系统和装置实施例,可以用于执行本申请方法实施例。对于本申请系统和装置实施例中未披露的细节,请参照本申请方法实施例。
本申请一示例性实施例还提供了一种数据库性能调整系统,该系统可以如图1所示,包括:数据库系统10、控制器20和调整工具30。其中,调整工具30包括:指标收集器31、深度强化学习模型32和推荐器33。
所述控制器20,用于接收对应于所述数据库系统10中的目标数据库的性能调整请求,所述性能调整请求用于请求调整所述目标数据库的配置参数以优化所述目标数据库的性能;向所述调整工具30转发所述性能调整请求。
所述调整工具30,用于通过所述指标收集器31获取所述目标数据库的状态指标;通过所述深度强化学习模型32根据所述目标数据库的状态指标,输出所述目标数据库的推荐配置参数;通过所述推荐器33将所述目标数据库的推荐配置参数发送给所述控制器20。
所述控制器20,还用于将所述目标数据库的推荐配置参数应用于所述目标数据库中。
其中,所述深度强化学习模型包括第一深度强化学习网络和第二深度强化学习网络,所述第一深度强化学习网络用于提供根据所述状态指标输出所述推荐配置参数的推荐策略,所述第二深度强化学习网络用于对所述第一深度强化学习网络提供的所述推荐策略进行评价。
综上所述,本申请实施例提供的技术方案中,通过深度强化学习模型根据目标数据库的状态指标,输出该目标数据库的推荐配置参数,提供了一种端到端的数据库性能调整解决方案;克服了相关技术中基于流水线式的机器学习方法,所存在的推荐配置参数不佳,数据库性能调整结果不佳的问题;由于是端到端的解决方案,因此能够克服流水线式的解决方案所存在的上述问题,提高了推荐配置参数的准确性,从而使得数据库的性能调整结果更佳。
在一些可能的设计中,所述第一深度强化学习网络的输入参数包括所述状态指标,所述第一深度强化学习网络的输出参数包括所述推荐配置参数;
所述第二深度强化学习网络的输入参数包括所述第一深度强化学习网络的输入参数和输出参数,所述第二深度强化学习网络的输出参数包括打分值,所述打分值用于对所述第一深度强化学习网络提供的所述推荐策略进行评价。
在一些可能的设计中,所述调整工具30,还用于:
调用标准的深度强化学习模型,所述标准的深度强化学习模型是采用标准数据库实例进行训练得到的;
对所述标准的深度强化学习模型进行再训练,得到调整后的深度强化学习模型,其中,所述调整后的深度强化学习模型用于提供所述目标数据库的推荐配置参数。
在一些可能的设计中,所述调整工具30,用于:
通过负载生成器34重放所述目标数据库的实际工作负载;
在所述目标数据库按照所述实际工作负载运行的过程中,对所述标准的深度强化学习模型执行至少一轮再训练过程;
当所述标准的深度强化学习模型满足停止训练条件时,停止训练所述标准的深度强化学习模型,得到所述调整后的深度强化学习模型。
在一些可能的设计中,所述深度强化学习模型包括第一深度强化学习网络和第二深度强化学习网络;
所述调整工具30,用于:
在第i轮再训练过程中,通过所述指标收集器31获取所述目标数据库的第i轮状态指标,所述i为正整数;
将所述第i轮状态指标输入至所述第一深度强化学习网络,输出所述目标数据库的第i轮推荐配置参数;
将所述第i轮推荐配置参数应用于所述目标数据库中;
将所述第i轮状态指标和所述第i轮推荐配置参数输入至所述第二深度强化学习网络,输出所述第一深度强化学习网络对应的打分值;
根据所述打分值调整所述第一深度强化学习网络的参数,以使得所述第一深度强化学习网络对应的激励值提升,所述激励值用于指示所述目标数据库在应用所述第i轮推荐配置参数前后的性能差异。
请参考图14,其示出了本申请一个实施例提供的数据库性能调整装置的框图。该装置具有实现上述方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是计算机设备,也可以设置在计算机设备中。该装置1400可以包括:请求接收模块1410、指标获取模块1420和参数推荐模块1430。
请求接收模块1410,用于接收对应于目标数据库的性能调整请求,所述性能调整请求用于请求调整所述目标数据库的配置参数以优化所述目标数据库的性能。
指标获取模块1420,用于获取所述目标数据库的状态指标。
参数推荐模块1430,用于将所述目标数据库的状态指标输入至深度强化学习模型,输出所述目标数据库的推荐配置参数;其中,所述深度强化学习模型包括第一深度强化学习网络和第二深度强化学习网络,所述第一深度强化学习网络用于提供根据所述状态指标输出所述推荐配置参数的推荐策略,所述第二深度强化学习网络用于对所述第一深度强化学习网络提供的所述推荐策略进行评价。
综上所述,本申请实施例提供的技术方案中,通过深度强化学习模型根据目标数据库的状态指标,输出该目标数据库的推荐配置参数,提供了一种端到端的数据库性能调整解决方案;克服了相关技术中基于流水线式的机器学习方法,所存在的推荐配置参数不佳,数据库性能调整结果不佳的问题;由于是端到端的解决方案,因此能够克服流水线式的解决方案所存在的上述问题,提高了推荐配置参数的准确性,从而使得数据库的性能调整结果更佳。
在一些可能的设计中,所述第一深度强化学习网络的输入参数包括所述状态指标,所述第一深度强化学习网络的输出参数包括所述推荐配置参数;
所述第二深度强化学习网络的输入参数包括所述第一深度强化学习网络的输入参数和输出参数,所述第二深度强化学习网络的输出参数包括打分值,所述打分值用于对所述第一深度强化学习网络提供的所述推荐策略进行评价。
在一些可能的设计中,如图15所示,所述装置1400还包括:模型调用模块1440和模型再训练模块1450。
模型调用模块1440,用于调用标准的深度强化学习模型,所述标准的深度强化学习模型是采用标准数据库实例进行训练得到的。
模型再训练模块1450,用于对所述标准的深度强化学习模型进行再训练,得到调整后的深度强化学习模型,其中,所述调整后的深度强化学习模型用于提供所述目标数据库的推荐配置参数。
在一些可能的设计中,所述模型再训练模块1450,用于:
重放所述目标数据库的实际工作负载;
在所述目标数据库按照所述实际工作负载运行的过程中,对所述标准的深度强化学习模型执行至少一轮再训练过程;
当所述标准的深度强化学习模型满足停止训练条件时,停止训练所述标准的深度强化学习模型,得到所述调整后的深度强化学习模型。
在一些可能的设计中,所述深度强化学习模型包括第一深度强化学习网络和第二深度强化学习网络;
所述模型再训练模块1450,用于:
在第i轮再训练过程中,获取所述目标数据库的第i轮状态指标,所述i为正整数;
将所述第i轮状态指标输入至所述第一深度强化学习网络,输出所述目标数据库的第i轮推荐配置参数;
将所述第i轮推荐配置参数应用于所述目标数据库中;
将所述第i轮状态指标和所述第i轮推荐配置参数输入至所述第二深度强化学习网络,输出所述第一深度强化学习网络对应的打分值;
根据所述打分值调整所述第一深度强化学习网络的参数,以使得所述第一深度强化学习网络对应的激励值提升,所述激励值用于指示所述目标数据库在应用所述第i轮推荐配置参数前后的性能差异。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图16,其示出了本申请一个实施例提供的计算机设备的结构示意图。该计算机设备可以是任何具备数据处理和存储功能的电子设备,如PC(Personal Computer,个人计算机)或服务器。该计算机设备用于实施上述实施例中提供的数据库性能优化方法。具体来讲:
所述计算机设备1600包括中央处理单元(CPU)1601、包括随机存取存储器(RAM)1602和只读存储器(ROM)1603的系统存储器1604,以及连接系统存储器1604和中央处理单元1601的系统总线1605。所述计算机设备1600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1606,和用于存储操作系统1613、应用程序1614和其他程序模块1615的大容量存储设备1607。
所述基本输入/输出系统1606包括有用于显示信息的显示器1608和用于用户输入信息的诸如鼠标、键盘之类的输入设备1609。其中所述显示器1608和输入设备1609都通过连接到系统总线1605的输入输出控制器1610连接到中央处理单元1601。所述基本输入/输出系统1606还可以包括输入输出控制器1610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1610还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1607通过连接到系统总线1605的大容量存储控制器(未示出)连接到中央处理单元1601。所述大容量存储设备1607及其相关联的计算机可读介质为计算机设备1600提供非易失性存储。也就是说,所述大容量存储设备1607可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1604和大容量存储设备1607可以统称为存储器。
根据本申请的各种实施例,所述计算机设备1600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1600可以通过连接在所述系统总线1605上的网络接口单元1611连接到网络1612,或者说,也可以使用网络接口单元1611来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集经配置以由一个或者一个以上处理器执行,以实现上述实施例提供的数据库性能调整方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被计算机设备的处理器执行时实现上述实施例提供的数据库性能调整方法。在示例性实施例中,上述计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于实现上述实施例提供的数据库性能调整方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种数据库性能调整方法,其特征在于,所述方法包括:
接收对应于目标数据库的性能调整请求,所述性能调整请求用于请求调整所述目标数据库的配置参数以优化所述目标数据库的性能;
获取所述目标数据库的状态指标;
将所述目标数据库的状态指标输入至深度强化学习模型,输出所述目标数据库的推荐配置参数;其中,所述深度强化学习模型包括第一深度强化学习网络和第二深度强化学习网络,所述第一深度强化学习网络用于提供根据所述状态指标输出所述推荐配置参数的推荐策略,所述第二深度强化学习网络用于对所述第一深度强化学习网络提供的所述推荐策略进行评价。
2.根据权利要求1所述的方法,其特征在于,
所述第一深度强化学习网络的输入参数包括所述状态指标,所述第一深度强化学习网络的输出参数包括所述推荐配置参数;
所述第二深度强化学习网络的输入参数包括所述第一深度强化学习网络的输入参数和输出参数,所述第二深度强化学习网络的输出参数包括打分值,所述打分值用于对所述第一深度强化学习网络提供的所述推荐策略进行评价。
3.根据权利要求1或2所述的方法,其特征在于,所述接收对应于目标数据库的性能调整请求之后,还包括:
调用标准的深度强化学习模型,所述标准的深度强化学习模型是采用标准数据库实例进行训练得到的;
对所述标准的深度强化学习模型进行再训练,得到调整后的深度强化学习模型,其中,所述调整后的深度强化学习模型用于提供所述目标数据库的推荐配置参数。
4.根据权利要求3所述的方法,其特征在于,所述对所述标准的深度强化学习模型进行再训练,得到调整后的深度强化学习模型,包括:
重放所述目标数据库的实际工作负载;
在所述目标数据库按照所述实际工作负载运行的过程中,对所述标准的深度强化学习模型执行至少一轮再训练过程;
当所述标准的深度强化学习模型满足停止训练条件时,停止训练所述标准的深度强化学习模型,得到所述调整后的深度强化学习模型。
5.根据权利要求4所述的方法,其特征在于,所述深度强化学习模型包括第一深度强化学习网络和第二深度强化学习网络;
所述对所述标准的深度强化学习模型执行至少一轮再训练过程,包括:
在第i轮再训练过程中,获取所述目标数据库的第i轮状态指标,所述i为正整数;
将所述第i轮状态指标输入至所述第一深度强化学习网络,输出所述目标数据库的第i轮推荐配置参数;
将所述第i轮推荐配置参数应用于所述目标数据库中;
将所述第i轮状态指标和所述第i轮推荐配置参数输入至所述第二深度强化学习网络,输出所述第一深度强化学习网络对应的打分值;
根据所述打分值调整所述第一深度强化学习网络的参数,以使得所述第一深度强化学习网络对应的激励值提升,所述激励值用于指示所述目标数据库在应用所述第i轮推荐配置参数前后的性能差异。
6.一种数据库性能调整系统,其特征在于,所述系统包括:数据库系统、控制器和调整工具;其中,所述调整工具包括:指标收集器、深度强化学习模型和推荐器;
所述控制器,用于接收对应于所述数据库系统中的目标数据库的性能调整请求,所述性能调整请求用于请求调整所述目标数据库的配置参数以优化所述目标数据库的性能;向所述调整工具转发所述性能调整请求;
所述调整工具,用于通过所述指标收集器获取所述目标数据库的状态指标;通过所述深度强化学习模型根据所述目标数据库的状态指标,输出所述目标数据库的推荐配置参数;通过所述推荐器将所述目标数据库的推荐配置参数发送给所述控制器;其中,所述深度强化学习模型包括第一深度强化学习网络和第二深度强化学习网络,所述第一深度强化学习网络用于提供根据所述状态指标输出所述推荐配置参数的推荐策略,所述第二深度强化学习网络用于对所述第一深度强化学习网络提供的所述推荐策略进行评价;
所述控制器,还用于将所述目标数据库的推荐配置参数应用于所述目标数据库中。
7.根据权利要求6所述的系统,其特征在于,
所述第一深度强化学习网络的输入参数包括所述状态指标,所述第一深度强化学习网络的输出参数包括所述推荐配置参数;
所述第二深度强化学习网络的输入参数包括所述第一深度强化学习网络的输入参数和输出参数,所述第二深度强化学习网络的输出参数包括打分值,所述打分值用于对所述第一深度强化学习网络提供的所述推荐策略进行评价。
8.根据权利要求6或7所述的系统,其特征在于,所述调整工具,还用于:
调用标准的深度强化学习模型,所述标准的深度强化学习模型是采用标准数据库实例进行训练得到的;
对所述标准的深度强化学习模型进行再训练,得到调整后的深度强化学习模型,其中,所述调整后的深度强化学习模型用于提供所述目标数据库的推荐配置参数。
9.根据权利要求8所述的系统,其特征在于,所述调整工具,用于:
通过负载生成器重放所述目标数据库的实际工作负载;
在所述目标数据库按照所述实际工作负载运行的过程中,对所述标准的深度强化学习模型执行至少一轮再训练过程;
当所述标准的深度强化学习模型满足停止训练条件时,停止训练所述标准的深度强化学习模型,得到所述调整后的深度强化学习模型。
10.根据权利要求9所述的系统,其特征在于,所述深度强化学习模型包括第一深度强化学习网络和第二深度强化学习网络;
所述调整工具,用于:
在第i轮再训练过程中,通过所述指标收集器获取所述目标数据库的第i轮状态指标,所述i为正整数;
将所述第i轮状态指标输入至所述第一深度强化学习网络,输出所述目标数据库的第i轮推荐配置参数;
将所述第i轮推荐配置参数应用于所述目标数据库中;
将所述第i轮状态指标和所述第i轮推荐配置参数输入至所述第二深度强化学习网络,输出所述第一深度强化学习网络对应的打分值;
根据所述打分值调整所述第一深度强化学习网络的参数,以使得所述第一深度强化学习网络对应的激励值提升,所述激励值用于指示所述目标数据库在应用所述第i轮推荐配置参数前后的性能差异。
11.一种数据库性能调整装置,其特征在于,所述方法包括:
请求接收模块,用于接收对应于目标数据库的性能调整请求,所述性能调整请求用于请求调整所述目标数据库的配置参数以优化所述目标数据库的性能;
指标获取模块,用于获取所述目标数据库的状态指标;
参数推荐模块,用于将所述目标数据库的状态指标输入至深度强化学习模型,输出所述目标数据库的推荐配置参数;其中,所述深度强化学习模型包括第一深度强化学习网络和第二深度强化学习网络,所述第一深度强化学习网络用于提供根据所述状态指标输出所述推荐配置参数的推荐策略,所述第二深度强化学习网络用于对所述第一深度强化学习网络提供的所述推荐策略进行评价。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
模型调用模块,用于调用标准的深度强化学习模型,所述标准的深度强化学习模型是采用标准数据库实例进行训练得到的;
模型再训练模块,用于对所述标准的深度强化学习模型进行再训练,得到调整后的深度强化学习模型,其中,所述调整后的深度强化学习模型用于提供所述目标数据库的推荐配置参数。
13.根据权利要求12所述的装置,其特征在于,所述模型再训练模块,用于:
重放所述目标数据库的实际工作负载;
在所述目标数据库按照所述实际工作负载运行的过程中,对所述标准的深度强化学习模型执行至少一轮再训练过程;
当所述标准的深度强化学习模型满足停止训练条件时,停止训练所述标准的深度强化学习模型,得到所述调整后的深度强化学习模型。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至5任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至5任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910290722.8A CN110019151B (zh) | 2019-04-11 | 2019-04-11 | 数据库性能调整方法、装置、设备、系统及存储介质 |
PCT/CN2020/081613 WO2020207268A1 (zh) | 2019-04-11 | 2020-03-27 | 数据库性能调整方法、装置、设备、系统及存储介质 |
US17/332,948 US20210286786A1 (en) | 2019-04-11 | 2021-05-27 | Database performance tuning method, apparatus, and system, device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910290722.8A CN110019151B (zh) | 2019-04-11 | 2019-04-11 | 数据库性能调整方法、装置、设备、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110019151A true CN110019151A (zh) | 2019-07-16 |
CN110019151B CN110019151B (zh) | 2024-03-15 |
Family
ID=67191183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910290722.8A Active CN110019151B (zh) | 2019-04-11 | 2019-04-11 | 数据库性能调整方法、装置、设备、系统及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210286786A1 (zh) |
CN (1) | CN110019151B (zh) |
WO (1) | WO2020207268A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339066A (zh) * | 2020-05-20 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 数据库优化方法、装置、电子设备及计算机可读存储介质 |
WO2020207268A1 (zh) * | 2019-04-11 | 2020-10-15 | 腾讯科技(深圳)有限公司 | 数据库性能调整方法、装置、设备、系统及存储介质 |
CN111913939A (zh) * | 2020-08-12 | 2020-11-10 | 莫毓昌 | 一种基于强化学习的数据库集群优化系统及方法 |
CN111949281A (zh) * | 2020-08-25 | 2020-11-17 | 深圳市广通软件有限公司 | 一种基于ai配置的数据库安装方法及用户设备、存储介质 |
CN113064879A (zh) * | 2021-03-12 | 2021-07-02 | 腾讯科技(深圳)有限公司 | 数据库参数调整方法、装置及计算机可读存储介质 |
CN113127446A (zh) * | 2021-04-01 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种基于Ottertune服务的集群调优方法及装置 |
CN113872788A (zh) * | 2020-06-30 | 2021-12-31 | 中兴通讯股份有限公司 | 数据库配置参数调整方法、设备及存储介质 |
CN114238269A (zh) * | 2021-12-03 | 2022-03-25 | 中兴通讯股份有限公司 | 数据库参数调整方法、装置、电子设备和存储介质 |
CN115484161A (zh) * | 2021-05-28 | 2022-12-16 | 南宁富联富桂精密工业有限公司 | Tsn网络配置方法、装置及计算机可读存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12007958B2 (en) * | 2022-02-01 | 2024-06-11 | Capital One Services, Llc | Methods and systems for providing database development recommendations based on multi-modal correlations detected through artificial intelligence |
CN117435580B (zh) * | 2023-12-21 | 2024-03-22 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种数据库参数筛选方法及相关设备 |
CN117454133B (zh) * | 2023-12-22 | 2024-03-26 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种数据库参数配置方法及相关设备 |
CN118277281B (zh) * | 2024-05-31 | 2024-10-11 | 厦门工商旅游学校 | 一种基于计算机框架设计用性能测试系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020198854A1 (en) * | 2001-03-30 | 2002-12-26 | Berenji Hamid R. | Convergent actor critic-based fuzzy reinforcement learning apparatus and method |
US20030074338A1 (en) * | 2001-07-18 | 2003-04-17 | Young Peter M. | Control system and technique employing reinforcement learning having stability and learning phases |
US9792397B1 (en) * | 2017-01-08 | 2017-10-17 | Alphaics Corporation | System and method for designing system on chip (SoC) circuits through artificial intelligence and reinforcement learning |
CN107292320A (zh) * | 2016-03-30 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 系统及其指标优化方法及装置 |
CN108763398A (zh) * | 2018-05-22 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 数据库配置参数处理方法、装置、计算机设备和存储介质 |
CN108826354A (zh) * | 2018-05-11 | 2018-11-16 | 上海交通大学 | 一种基于强化学习的火电燃烧优化方法 |
CN109308246A (zh) * | 2017-07-27 | 2019-02-05 | 阿里巴巴集团控股有限公司 | 系统参数的优化方法、装置及设备、可读介质 |
CN109344201A (zh) * | 2018-10-17 | 2019-02-15 | 国网江苏省电力有限公司信息通信分公司 | 一种基于机器学习的数据库性能负载评估系统和方法 |
CN109379752A (zh) * | 2018-09-10 | 2019-02-22 | 中国移动通信集团江苏有限公司 | Massive MIMO的优化方法、装置、设备及介质 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8782341B1 (en) * | 2012-06-29 | 2014-07-15 | Emc Corporation | Embedded advisory framework for storage configuration management |
CN103853786B (zh) * | 2012-12-06 | 2017-07-07 | 中国电信股份有限公司 | 数据库参数的优化方法与系统 |
JPWO2018154702A1 (ja) * | 2017-02-24 | 2019-06-27 | 株式会社日立製作所 | 電力系統における意思決定支援装置および方法、並びにその応用システム |
EP3625689A4 (en) * | 2017-05-17 | 2021-04-28 | Sigopt, Inc. | SYSTEMS AND PROCESSES IMPLEMENTING AN INTELLIGENT OPTIMIZATION PLATFORM |
US10747761B2 (en) * | 2017-05-18 | 2020-08-18 | Salesforce.Com, Inc. | Neural network based translation of natural language queries to database queries |
US20180351816A1 (en) * | 2017-06-02 | 2018-12-06 | Yan Li | Methods and apparatus for parameter tuning using a cloud service |
AU2018350891B9 (en) * | 2017-10-16 | 2022-05-19 | Illumina, Inc. | Deep learning-based techniques for training deep convolutional neural networks |
CN111652380B (zh) * | 2017-10-31 | 2023-12-22 | 第四范式(北京)技术有限公司 | 针对机器学习算法进行算法参数调优的方法及系统 |
US10926408B1 (en) * | 2018-01-12 | 2021-02-23 | Amazon Technologies, Inc. | Artificial intelligence system for efficiently learning robotic control policies |
US11539992B2 (en) * | 2018-02-28 | 2022-12-27 | Google Llc | Auto-adjust playback speed and contextual information |
US11501202B1 (en) * | 2018-04-17 | 2022-11-15 | Amazon Technologies, Inc. | Querying databases with machine learning model references |
CN108803321B (zh) * | 2018-05-30 | 2020-07-10 | 清华大学 | 基于深度强化学习的自主水下航行器轨迹跟踪控制方法 |
US11087770B2 (en) * | 2018-07-03 | 2021-08-10 | American Express Travel Related Services Company, Inc. | Dispute initiation using artificial intelligence |
US11488055B2 (en) * | 2018-07-26 | 2022-11-01 | International Business Machines Corporation | Training corpus refinement and incremental updating |
CN109101712B (zh) * | 2018-07-27 | 2023-06-20 | 石家庄创天电子科技有限公司 | 基于图网络的产品模型设计系统及方法 |
CN109412829B (zh) * | 2018-08-30 | 2020-11-17 | 华为技术有限公司 | 一种资源配置的预测方法及设备 |
CN109284606B (zh) * | 2018-09-04 | 2019-08-27 | 中国人民解放军陆军工程大学 | 基于经验特征与卷积神经网络的数据流异常检测系统 |
US11061902B2 (en) * | 2018-10-18 | 2021-07-13 | Oracle International Corporation | Automated configuration parameter tuning for database performance |
CN111353091B (zh) * | 2018-12-24 | 2024-10-11 | 北京三星通信技术研究有限公司 | 信息处理方法、装置、电子设备及可读存储介质 |
US11138266B2 (en) * | 2019-02-21 | 2021-10-05 | Microsoft Technology Licensing, Llc | Leveraging query executions to improve index recommendations |
US11310257B2 (en) * | 2019-02-27 | 2022-04-19 | Microsoft Technology Licensing, Llc | Anomaly scoring using collaborative filtering |
US10700935B1 (en) * | 2019-02-27 | 2020-06-30 | Peritus.AI, Inc. | Automatic configuration and operation of complex systems |
US11157471B2 (en) * | 2019-03-13 | 2021-10-26 | Sap Se | Generic autonomous database tuning as a service for managing backing services in cloud |
JP7050023B2 (ja) * | 2019-03-22 | 2022-04-07 | Kddi株式会社 | ネットワーク障害復旧システム、コンピュータプログラム及びネットワーク障害復旧方法 |
CN113614788A (zh) * | 2019-04-08 | 2021-11-05 | 美国西门子医疗系统股份有限公司 | 计算机辅助读取和分析的深度强化学习 |
CN110019151B (zh) * | 2019-04-11 | 2024-03-15 | 深圳市腾讯计算机系统有限公司 | 数据库性能调整方法、装置、设备、系统及存储介质 |
-
2019
- 2019-04-11 CN CN201910290722.8A patent/CN110019151B/zh active Active
-
2020
- 2020-03-27 WO PCT/CN2020/081613 patent/WO2020207268A1/zh active Application Filing
-
2021
- 2021-05-27 US US17/332,948 patent/US20210286786A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020198854A1 (en) * | 2001-03-30 | 2002-12-26 | Berenji Hamid R. | Convergent actor critic-based fuzzy reinforcement learning apparatus and method |
US20030074338A1 (en) * | 2001-07-18 | 2003-04-17 | Young Peter M. | Control system and technique employing reinforcement learning having stability and learning phases |
CN107292320A (zh) * | 2016-03-30 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 系统及其指标优化方法及装置 |
US9792397B1 (en) * | 2017-01-08 | 2017-10-17 | Alphaics Corporation | System and method for designing system on chip (SoC) circuits through artificial intelligence and reinforcement learning |
CN109308246A (zh) * | 2017-07-27 | 2019-02-05 | 阿里巴巴集团控股有限公司 | 系统参数的优化方法、装置及设备、可读介质 |
CN108826354A (zh) * | 2018-05-11 | 2018-11-16 | 上海交通大学 | 一种基于强化学习的火电燃烧优化方法 |
CN108763398A (zh) * | 2018-05-22 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 数据库配置参数处理方法、装置、计算机设备和存储介质 |
CN109379752A (zh) * | 2018-09-10 | 2019-02-22 | 中国移动通信集团江苏有限公司 | Massive MIMO的优化方法、装置、设备及介质 |
CN109344201A (zh) * | 2018-10-17 | 2019-02-15 | 国网江苏省电力有限公司信息通信分公司 | 一种基于机器学习的数据库性能负载评估系统和方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020207268A1 (zh) * | 2019-04-11 | 2020-10-15 | 腾讯科技(深圳)有限公司 | 数据库性能调整方法、装置、设备、系统及存储介质 |
CN111339066A (zh) * | 2020-05-20 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 数据库优化方法、装置、电子设备及计算机可读存储介质 |
CN113872788A (zh) * | 2020-06-30 | 2021-12-31 | 中兴通讯股份有限公司 | 数据库配置参数调整方法、设备及存储介质 |
WO2022001965A1 (zh) * | 2020-06-30 | 2022-01-06 | 中兴通讯股份有限公司 | 数据库配置参数调整方法、设备及存储介质 |
CN111913939A (zh) * | 2020-08-12 | 2020-11-10 | 莫毓昌 | 一种基于强化学习的数据库集群优化系统及方法 |
CN111913939B (zh) * | 2020-08-12 | 2023-10-03 | 莫毓昌 | 一种基于强化学习的数据库集群优化系统及方法 |
CN111949281A (zh) * | 2020-08-25 | 2020-11-17 | 深圳市广通软件有限公司 | 一种基于ai配置的数据库安装方法及用户设备、存储介质 |
CN113064879A (zh) * | 2021-03-12 | 2021-07-02 | 腾讯科技(深圳)有限公司 | 数据库参数调整方法、装置及计算机可读存储介质 |
CN113127446A (zh) * | 2021-04-01 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种基于Ottertune服务的集群调优方法及装置 |
CN113127446B (zh) * | 2021-04-01 | 2023-04-07 | 山东英信计算机技术有限公司 | 一种基于Ottertune服务的集群调优方法及装置 |
CN115484161A (zh) * | 2021-05-28 | 2022-12-16 | 南宁富联富桂精密工业有限公司 | Tsn网络配置方法、装置及计算机可读存储介质 |
CN115484161B (zh) * | 2021-05-28 | 2024-07-19 | 南宁富联富桂精密工业有限公司 | Tsn网络配置方法、装置及计算机可读存储介质 |
CN114238269A (zh) * | 2021-12-03 | 2022-03-25 | 中兴通讯股份有限公司 | 数据库参数调整方法、装置、电子设备和存储介质 |
WO2023098796A1 (zh) * | 2021-12-03 | 2023-06-08 | 中兴通讯股份有限公司 | 数据库参数调整方法、装置、电子设备和存储介质 |
CN114238269B (zh) * | 2021-12-03 | 2024-01-23 | 中兴通讯股份有限公司 | 数据库参数调整方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20210286786A1 (en) | 2021-09-16 |
WO2020207268A1 (zh) | 2020-10-15 |
CN110019151B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019151A (zh) | 数据库性能调整方法、装置、设备、系统及存储介质 | |
US11875239B2 (en) | Managing missing values in datasets for machine learning models | |
US20200050968A1 (en) | Interactive interfaces for machine learning model evaluations | |
Gill et al. | Task complexity and informing science: A synthesis | |
US20230139783A1 (en) | Schema-adaptable data enrichment and retrieval | |
US11704607B2 (en) | Position-centric personnel assessment apparatus and method | |
WO2015065377A1 (en) | Assigning resource permissions | |
Nguyen et al. | SMART: A tool for analyzing and reconciling schema matching networks | |
DE112020002684T5 (de) | Ein Mehrfachverfahrenssystem für optimale Vorhersagemodellauswahl | |
Lorig et al. | Hypothesis-Driven Simulation Studies | |
WO2023158333A1 (en) | Large-scale architecture search in graph neural networks via synthetic data | |
Mozaffari et al. | Feedback control loop design for workload change detection in self-tuning NoSQL wide column stores | |
Mujthaba et al. | Data Science Techniques, Tools and Predictions | |
Menzies et al. | Learning project management decisions: a case study with case-based reasoning versus data farming | |
Lian | [Retracted] Optimization of Music Teaching Management System for College Students Based on Similarity Distribution Method | |
Tang et al. | FSbrain: An intelligent I/O performance tuning system | |
Matczak et al. | Intelligent index tuning using reinforcement learning | |
Dai et al. | Evaluation model of mathematics teaching quality based on recurrent neural network | |
CN115248815A (zh) | 预测查询处理 | |
Palanimalai et al. | Big data analytics bring new insights and higher business value-an experiment carried out to divulge sales forecasting solutions | |
Ortiz | Performance-Based Service Level Agreements for Data Analytics in the Cloud | |
US12124442B2 (en) | Artificial intelligence-based resource management of computing systems and complex database systems | |
US20240211474A1 (en) | Artificial intelligence-based resource management of computing systems and complex database systems | |
Wee et al. | Adaptive database’s performance tuning based on reinforcement learning | |
Wei et al. | Multi-strategy synergy-based backtracking search optimization algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |