CN116401232B - 数据库参数配置优化方法、装置、电子设备及存储介质 - Google Patents
数据库参数配置优化方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116401232B CN116401232B CN202310315950.2A CN202310315950A CN116401232B CN 116401232 B CN116401232 B CN 116401232B CN 202310315950 A CN202310315950 A CN 202310315950A CN 116401232 B CN116401232 B CN 116401232B
- Authority
- CN
- China
- Prior art keywords
- target
- performance index
- parameter configuration
- workload
- items
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000005457 optimization Methods 0.000 title claims abstract description 36
- 238000012549 training Methods 0.000 claims abstract description 34
- 238000005516 engineering process Methods 0.000 claims abstract description 33
- 238000012216 screening Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000012360 testing method Methods 0.000 claims description 10
- 238000010606 normalization Methods 0.000 claims description 5
- 239000002699 waste material Substances 0.000 abstract description 11
- 239000011159 matrix material Substances 0.000 description 33
- 238000007781 pre-processing Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 230000002829 reductive effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000010187 selection method Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2113—Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2115—Selection of the most significant subset of features by evaluating different subsets according to an optimisation criterion, e.g. class separability, forward selection or backward elimination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种数据库参数配置优化方法、装置、电子设备及存储介质。方法包括:确定目标工作负载和目标性能指标;基于特征选择技术,获取目标工作负载的相似工作负载;根据相似工作负载对应的参数配置项的值对初始性能指标预测模型进行训练,得到目标性能指标预测模型;根据目标性能指标预测模型,确定使得目标性能指标为最优预测值的一组目标参数配置项;根据目标参数配置项执行目标工作负载,获取目标性能指标的值;若目标性能指标的值大于等于预设阈值,则确定目标性能指标的值对应的一组参数配置项为优化参数配置项。本方法能够避免数据库管理员凭借经验进行参数优化造成的资源浪费,提高数据库管理系统的性能。
Description
技术领域
本公开涉及数据库技术领域,尤其涉及一种数据库参数配置优化方法、装置、电子设备及存储介质。
背景技术
随着云计算、大数据时代的到来,数以亿计的数据被存储在数据库中,用户通过数据库管理系统访问数据库中的数据,数据库管理系统在管理数据和处理任务的同时,提高数据库管理系统的性能是必要的。性能指标通常用吞吐量、延迟率、响应时间、磁盘读取或写入页面的计数器等来衡量。影响数据库管理系统性能的因素很多,其中数据库管理系统自身的参数配置项很大程度上影响这数据库管理系统的性能。因此,提升数据库管理系统的性能可以通过优化数据库管理系统的参数配置项来实现,而不同的数据库管理系统拥有不同数量的参数配置项,少则数百项,多则上千项。
现有技术中,通过数据库管理员进行数据库管理系统参数配置的优化,数据库管理系统拥有大量的参数配置项,数据库管理员根据以往对数据库管理系统参数配置项的调优经验以及当前运行的工作负载,进行具体的参数配置。然而,这种方式虽然在一定程度上可以提高数据库管理系统的性能,但是随着数据库管理系统的参数项数量不断增加,以及应用程序的规模和复杂性的不断增加,通过人工调优数据库管理系统的参数配置的方法来满足应用程序的需求变得愈加困难,另外,工作负载的变化会对配置参数项和数据库管理系统性能的关系产生影响,运行不同的工作负载,需要配置不同的参数项,当工作负载变化后,如果继续应用之前工作负载下的最优参数配置,可能会造成数据库管理系统性能的下降,因此运行不同的工作负载,需要数据库管理员根据已有经验反复进行参数配置的优化,这需要投入大量的人力和精力,会造成巨大的资源和时间浪费。
因此,如何避免数据库管理员凭借经验进行参数优化造成的资源浪费以提高数据库管理系统的性能是当前亟需解决的问题。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种数据库参数配置优化方法,可以避免因数据库管理员凭借经验进行参数优化造成的资源浪费,从而提高数据库管理系统的性能。
为了实现上述目的,本公开实施例提供技术方案如下:
第一方面,本公开的实施例提供一种数据库参数配置优化方法,所述方法包括:
确定目标工作负载和目标性能指标;
基于特征选择技术,获取所述目标工作负载的相似工作负载;所述相似工作负载为与所述目标工作负载相似度最高的历史工作负载;
根据所述相似工作负载对应的参数配置项的值对初始性能指标预测模型进行训练,得到目标性能指标预测模型;
根据所述目标性能指标预测模型,确定使得所述目标性能指标为最优预测值的一组目标参数配置项;
根据所述目标参数配置项执行所述目标工作负载,获取所述目标性能指标的值;
若所述目标性能指标的值大于等于预设阈值,则确定所述目标性能指标的值对应的一组参数配置项为优化参数配置项。
作为本公开实施例一种可选的实施方式,所述基于特征选择技术,获取所述目标工作负载的相似工作负载,包括:
获取原始数据集集合;所述原始数据集集合由各个历史工作负载的参数配置项的值和性能指标项的值组成;
对所述原始数据集集合进行预处理,获取高质量数据集集合;
根据所述高质量数据集集合,基于特征选择技术,获取所述目标工作负载的相似工作负载。
作为本公开实施例一种可选的实施方式,所述获取原始数据集集合,包括:
确定目标数据库管理系统的类型;
在所述目标数据库管理系统上执行各个历史工作负载对应的参数配置项的值,获取各个历史工作负载对应的性能指标项的值;
根据所述各个历史工作负载对应的参数配置项的值、以及所述各个历史工作负载对应的性能指标项的值,获取原始数据集集合。
作为本公开实施例一种可选的实施方式,所述对所述原始数据集集合进行预处理,获取高质量数据集集合,包括:
获取预设参数配置列表;所述预设参数配置列表包括:目标数据库管理系统禁止修改的参数配置项;
根据所述参数配置项列表对各个历史工作负载的参数配置项进行删除,确定各个历史工作负载的初始参数配置项集合;
基于特征选择技术对各个历史工作负载的性能指标项进行筛选,确定各个历史工作负载的目标性能指标项集合;
基于稳定性选择技术对所述各个历史工作负载的初始参数配置项集合进行筛选,确定各个历史工作负载的目标参数配置项集合;
根据所述各个历史工作负载的目标参数配置项集合、以及所述各个历史工作负载的目标性能指标项集合,获取高质量数据集集合。
作为本公开实施例一种可选的实施方式,所述根据所述高质量数据集集合,获取相似工作负载,包括:
对所述目标工作负载执行基准测试,获取所述目标工作负载的参数配置项的值和性能指标项的值;
根据所述各个历史工作负载的目标性能指标项集合,筛选出所述目标工作负载对应的性能指标项;
对所述各个历史工作负载的目标性能指标项集合的值和所述目标工作负载的性能指标项的值进行归一化处理,获取归一化后各个历史工作负载的性能指标项的特征值以及目标工作负载的性能指标项的特征值;
根据所述各个历史工作负载的性能指标项的特征值以及所述目标工作负载的性能指标项的特征值,获取所述目标工作负载的性能指标项的特征值与所述各个历史工作负载的性能指标项的特征值之间的欧式距离,并对所有的欧式距离进行排序,获取相似工作负载;
其中,所述相似工作负载为所述目标工作负载的性能指标项的特征值与所述各个历史工作负载的性能指标项的特征值之间的欧式距离最小的历史工作负载。
作为本公开实施例一种可选的实施方式,所述根据所述目标性能指标预测模型,确定使得所述目标性能指标为最优预测值的一组目标参数配置项,包括:
将所述相似工作负载的参数配置项的值输入所述目标性能指标预测模型,获取所述目标性能指标的预测值;
对所述相似工作负载的参数配置项的值在所述目标性能指标预测模型上对应的点进行梯度计算,确定使得所述目标性能指标为最优预测值的一组目标参数配置项。
作为本公开实施例一种可选的实施方式,在根据所述目标参数配置项执行所述目标工作负载,获取所述目标性能指标的值之后,所述方法还包括:
获取性能指标集合中各个性能指标的值;所述性能指标集合包括所述目标参数配置项对应的除了所述目标性能指标之外的其他性能指标;
将所述目标参数配置项的值、所述目标性能指标的值、以及所述性能指标集合中各个性能指标的值,作为原始数据集集合中的一个历史工作负载进行保存。
第二方面,本公开实施例提供一种数据库参数配置优化装置,包括:
配置模块,用于确定目标工作负载和目标性能指标;
获取模块,用于基于特征选择技术,获取所述目标工作负载的相似工作负载;所述相似工作负载为与所述目标工作负载相似度最高的历史工作负载;
训练模块,用于根据所述相似工作负载对应的参数配置项的值对初始性能指标预测模型进行训练,得到目标性能指标预测模型;
优化模块,用于根据所述目标性能指标预测模型,确定使得所述目标性能指标为最优预测值的一组目标参数配置项;
执行模块,用于根据所述目标参数配置项执行所述目标工作负载,获取所述目标性能指标的值;
确定模块,用于若所述目标性能指标的值大于等于预设阈值,则确定所述目标性能指标的值对应的一组参数配置项为优化参数配置项。
作为本公开实施例一种可选的实施方式,所述获取模块包括:
获取单元,用于获取原始数据集集合;所述原始数据集集合由各个历史工作负载的参数配置项的值和性能指标项的值组成;
预处理单元,用于对所述原始数据集集合进行预处理,获取高质量数据集集合;
筛选单元,用于根据所述高质量数据集集合,基于特征选择技术,获取所述目标工作负载的相似工作负载。
作为本公开实施例一种可选的实施方式,所述获取单元具体用于:
确定目标数据库管理系统的类型;
在所述目标数据库管理系统上执行各个历史工作负载对应的参数配置项的值,获取各个历史工作负载对应的性能指标项的值;
根据所述各个历史工作负载对应的参数配置项的值、以及所述各个历史工作负载对应的性能指标项的值,获取原始数据集集合。
作为本公开实施例一种可选的实施方式,所述预处理单元具体用于:
获取预设参数配置列表;所述预设参数配置列表包括:目标数据库管理系统禁止修改的参数配置项;
根据所述参数配置项列表对各个历史工作负载的参数配置项进行删除,确定各个历史工作负载的初始参数配置项集合;
基于特征选择技术对各个历史工作负载的性能指标项进行筛选,确定各个历史工作负载的目标性能指标项集合;
基于稳定性选择技术对所述各个历史工作负载的初始参数配置项集合进行筛选,确定各个历史工作负载的目标参数配置项集合;
根据所述各个历史工作负载的目标参数配置项集合、以及所述各个历史工作负载的目标性能指标项集合,获取高质量数据集集合。
作为本公开实施例一种可选的实施方式,所述筛选单元,具体用于:
对所述目标工作负载执行基准测试,获取所述目标工作负载的参数配置项的值和性能指标项的值;
根据所述各个历史工作负载的目标性能指标项集合,筛选出所述目标工作负载对应的性能指标项;
对所述各个历史工作负载的目标性能指标项集合的值和所述目标工作负载的性能指标项的值进行归一化处理,获取归一化后各个历史工作负载的性能指标项的特征值以及目标工作负载的性能指标项的特征值;
根据所述各个历史工作负载的性能指标项的特征值以及所述目标工作负载的性能指标项的特征值,获取所述目标工作负载的性能指标项的特征值与所述各个历史工作负载的性能指标项的特征值之间的欧式距离,并对所有的欧式距离进行排序,获取相似工作负载;
其中,所述相似工作负载为所述目标工作负载的性能指标项的特征值与所述各个历史工作负载的性能指标项的特征值之间的欧式距离最小的历史工作负载。
作为本公开实施例一种可选的实施方式,所述优化模块,具体用于:
将所述相似工作负载的参数配置项的值输入所述目标性能指标预测模型,获取所述目标性能指标的预测值;
对所述相似工作负载的参数配置项的值在所述目标性能指标预测模型上对应的点进行梯度计算,确定使得所述目标性能指标为最优预测值的一组目标参数配置项。
作为本公开实施例一种可选的实施方式,所述装置还包括:
保存模块,用于获取性能指标集合中各个性能指标的值;所述性能指标集合包括所述目标参数配置项对应的除了所述目标性能指标之外的其他性能指标;将所述目标参数配置项的值、所述目标性能指标的值、以及所述性能指标集合中各个性能指标的值,作为原始数据集集合中的一个历史工作负载进行保存。
第三方面,本公开实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面或第一方面的任一实施方式所述的数据库参数配置优化方法。
第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面或第一方面的任一实施方式所述的数据库参数配置优化方法。
本公开提供的数据库参数配置优化方法,首先确定目标工作负载和目标性能指标,获取目标工作负载的相似工作负载,其中,相似工作负载为与目标工作负载相似度最高的历史工作负载,然后根据相似工作负载对应的参数配置项的值对初始性能指标预测模型进行训练,得到目标性能指标预测模型,再根据目标性能指标预测模型,确定使得目标性能指标为最优预测值的一组目标参数配置项,最后根据目标参数配置项执行目标工作负载,获取目标性能指标的值,若目标性能指标的值大于等于预设阈值,则确定目标性能指标的值对应的一组参数配置项为优化参数配置项。由于相似工作负载为与目标工作负载相似度最高的历史工作负载,且特征选择技术可以用于降低特征冗余,减少训练数据的大小,加快模型训练速度,减少计算开销,减小模型复杂度,所以利用历史数据进行模型训练,可以避免因数据库管理员凭借经验进行参数优化造成的资源浪费,从而提高数据库管理系统的性能。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中数据库参数配置优化方法的流程示意图之一;
图2为一个实施例中数据库参数配置优化方法的流程示意图之二;
图3为一个实施例中数据库参数配置优化方法的流程示意图之三;
图4为一个实施例中数据库参数配置优化装置的结构示意图;
图5为本公开实施例所述的电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
本公开的说明书和权利要求书中的术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在本公开实施例中,“示例性的”或者“例如”等词是用于表示作例子、例证或说明。本公开实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。此外,在本公开实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
数据库管理系统充当着建立、维护、使用数据库的角色,其支持多个应用程序和用户建立、修改、访问数据库。用户通过数据库管理系统访问数据库中的数据,数据库管理系统在管理数据和处理任务的同时,提高数据库管理系统的性能是必要的。性能指标通常用吞吐量、延迟率、响应时间、磁盘读取或写入页面的计数器等来衡量。影响数据库管理系统性能的因素很多,其中数据库管理系统自身的参数配置项很大程度上影响这数据库管理系统的性能。因此,提升数据库管理系统的性能可以通过优化数据库管理系统的参数配置项来实现,而不同的数据库管理系统拥有不同数量的参数配置项,少则数百项,多则上千项。
现有技术中,通过数据库管理员进行数据库管理系统参数配置的优化,数据库管理系统拥有大量的参数配置项,数据库管理员根据以往对数据库管理系统参数配置项的调优经验以及当前运行的工作负载,进行具体的参数配置。然而,这种方式虽然在一定程度上可以提高数据库管理系统的性能,但是随着数据库管理系统的参数项数量不断增加,以及应用程序的规模和复杂性的不断增加,通过人工调优数据库管理系统的参数配置的方法来满足应用程序的需求变得愈加困难,另外,工作负载的变化会对配置参数项和数据库管理系统性能的关系产生影响,运行不同的工作负载,需要配置不同的参数项,当工作负载变化后,如果继续应用之前工作负载下的最优参数配置,可能会造成数据库管理系统性能的下降,因此运行不同的工作负载,需要数据库管理员根据已有经验反复进行参数配置的优化,这需要投入大量的人力和精力,会造成巨大的资源和时间浪费。因此,如何避免数据库管理员凭借经验进行参数优化造成的资源浪费以提高数据库管理系统的性能是当前亟需解决的问题。
本公开提供一种数据库参数配置优化方法,确定目标工作负载和目标性能指标,获取目标工作负载的相似工作负载,其中,相似工作负载为与目标工作负载相似度最高的历史工作负载,根据相似工作负载对应的参数配置项的值对初始性能指标预测模型进行训练,得到目标性能指标预测模型,根据目标性能指标预测模型,确定使得目标性能指标为最优预测值的一组目标参数配置项,根据目标参数配置项执行目标工作负载,获取目标性能指标的值,若目标性能指标的值大于等于预设阈值,则确定目标性能指标的值对应的一组参数配置项为优化参数配置项。由于相似工作负载为与目标工作负载相似度最高的历史工作负载,且特征选择技术可以用于降低特征冗余,减少训练数据的大小,加快模型训练速度,减少计算开销,减小模型复杂度,所以利用历史数据进行模型训练,可以避免因数据库管理员凭借经验进行参数优化造成的资源浪费,从而提高数据库管理系统的性能。
在一个实施例中,如图1所示,提供一种数据库参数配置优化方法,该数据库参数配置优化方法包括如下步骤S11-S16:
S11、确定目标工作负载和目标性能指标。
其中,目标工作负载表示数据库系统需要完成的业务或者各项任务。例如,需要执行的事务集合、需要完成的查询请求等。性能指标包括但不限于:吞吐量、延迟率、响应时间、磁盘读取或写入页面的计数器。目标性能指标是指用户希望优化的性能指标。
具体的,由于针对不同的工作负载或数据库使用场景,用户希望优化的目标性能指标是不同的,所以需要预先确定目标工作负载。
示例性的,一个工作负载可以指数据库管理系统执行的多条语句,每条语句都可以用于访问数据库中的数据,以实现数据库的管理和维护。例如,一个工作负载可以包括1000条sql语句,每条sql语句均可以访问数据库中的数据,如对数据库进行增加、删除、修改、查询等操作。
在本实施例中,需要优化的目标性能指标可以包括但不限于:执行目标工作负载时产生的延迟、每秒查询数、每秒处理事务数、每秒写入数等。
S12、基于特征选择技术,获取所述目标工作负载的相似工作负载。
其中,所述相似工作负载为与所述目标工作负载相似度最高的历史工作负载。
在一些实施例中,参照图2所示,上述S12(基于特征选择技术,获取所述目标工作负载的相似工作负载)可以通过步骤S121-123实现:
S121、获取原始数据集集合。
其中,所述原始数据集集合由各个历史工作负载的参数配置项的值和性能指标项的值组成。参数配置项可以包括但不限于:数据库管理系统的缓存、进程内存大小等。性能指标包括但不限于:吞吐量、延迟率、响应时间、磁盘读取或写入页面的计数器。
示例性的,假设每个工作负载有N个样本,用S={s1,s2,...,sN}表示,sj表示当前工作负载wi下的第j个样本;每个样本数据由一组参数配置和一组性能指标组成,假设每个样本有n个参数配置项,用P={p1,p2,...,pn}表示,pk表示该样本下的第k个参数配置项;假设每个样本有m个指标项,用M={m1,m2,...,mm}表示,mb表示该样本下的第b个指标;收集数据库管理系统运行工作负载wi时的所有样本数据,假设收集的数据为矩阵original_matrix,矩阵original_matrix中每个样本由一组参数配置P和一组性能指标M组成,每个参数配置项或性能指标项对应一个特征,即每一个样本的数据维度为1×(n+m),收集的样本数据集矩阵original_matrix的维度为N×(n+m)。
可选的,获取原始数据集集合,可以通过如下步骤A-C实现:
A、确定目标数据库管理系统的类型。
其中,目标数据库管理系统的类型包括但不限于:Mysql、Postgres、Sybase、DB2。
具体的,不同的数据库类型对应不同的数据库管理系统,不同的数据库管理系统的参数配置项和性能指标项有差异性。
B、在所述目标数据库管理系统上执行各个历史工作负载对应的参数配置项的值,获取各个历史工作负载对应的性能指标项的值。
示例性的,以历史工作负载workload1为例,收集执行该工作负载时目标数据库管理系统的每组参数配置项的值和性能指标项的值。同样地,在目标数据库管理系统上执行其余各个历史工作负载workload2,workload3,workload4,···,收集执行每个历史工作负载时目标数据库管理系统的每组参数配置项的值和性能指标项的值。
C、根据所述各个历史工作负载对应的参数配置项的值、以及所述各个历史工作负载对应的性能指标项的值,获取原始数据集集合。
示例性的,以历史工作负载workload1为例,把在上述步骤B中收集的参数配置项的值和性能指标项的值作为工作负载workload1的数据集,该数据集被标记为原始数据集集合中的一个数据集,原始数据集集合中的每一个数据集都对应一个历史工作负载。进一步,假设原始数据集集合中的一个数据集为矩阵original_matrix,其中,矩阵original_matrix中的行对应历史工作负载workload1的一组参数配置项的值和性能指标项的值,矩阵original_matrix中的列对应历史工作负载workload1的一组参数配置项和性能指标项。假设矩阵original_matrix中的列由n个参数项和m个性能指标项组成,将矩阵original_matrix中的每一行看作一个样本,则每一个样本的维度为1×(n+m)。
S122、对所述原始数据集集合进行预处理,获取高质量数据集集合。
其中,预处理可以理解为对原始数据集集合中的数据进行特征选择,从而获取高质量数据集集合。
具体的,对原始数据集合中的每个数据集进行参数配置项选择,选择出对性能影响最大的部分参数配置项;对原始数据集集合中的每个数据集进行性能指标项选择,选择出具有代表性的性能指标项。
在数据分析中,特征选择可以用来降低特征的冗余,提高分析结果的可理解性,并且易于发现高维度数据中隐藏的结构。由于本步骤中获取的高质量数据集集合用于模型训练,所以通过特征选择可以减少训练数据的样本,加快模型训练速度,减少计算开销,减小模型复杂度,避免过拟合,从而提升模型准确率。
可选的,S122(对所述原始数据集集合进行预处理,获取高质量数据集集合),可以通过如下方式实现:
a、获取预设参数配置列表。
其中,所述预设参数配置列表包括:目标数据库管理系统禁止修改的参数配置项。
具体的,数据库管理员预先设置禁止修改的参数配置项列表。这组禁止修改的参数配置项或是对数据库管理系统的稳定性和可靠性造成破坏,或是对数据库管理系统的性能影响甚微,均被设置在数据库管理员不建议修改的参数配置项列表中,保证在进行参数配置优化的过程中不会涉及到这组禁止优化的参数配置项列表。
b、根据所述参数配置项列表对各个历史工作负载的参数配置项进行删除,确定各个历史工作负载的初始参数配置项集合。
示例性的,以矩阵original_matrix为例,从矩阵original_matrix中删除禁止修改的参数配置项对应的列,得到矩阵new_matrix_1。假设预设参数配置列表中有k个元素,则矩阵new_matrix_1中的每一个样本的维度为1×(n+m-k)。
c、基于特征选择技术对各个历史工作负载的性能指标项进行筛选,确定各个历史工作负载的目标性能指标项集合。
具体的,由于性能指标项之间的关系以及性能指标项数据的结构无法通过人为的经验发现,所以可以通过特征选择方法去除冗余的性能指标项,选择出具有代表性的性能指标项。
进一步,特征选择方法可以是基于互信息的无监督特征选择方法,该方法使用了一种综合考虑了性能指标项之间的相关度和冗余度的特征选择标准,即无监督最小冗余最大相关来评价特征的重要性。其中,互信息是信息论里一种有用的信息度量,它可以看成是一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。在进行特征选择时,该方法首先计算出每个特征的相关度,然后使用前向顺序搜索对特征进行重要性评价,最后输出一个有序特征序列。
示例性的,以矩阵new_matrix_1为例,对矩阵new_matrix_1中的m个性能指标项进行指标选择,假设对性能指标项选择之后,矩阵new_matrix_1中的性能指标项剩余p个,得到新的矩阵new_matrix_2,则矩阵new_matrix_2中的每一个样本的维度为1×(n+p-k)。
d、基于稳定性选择技术对所述各个历史工作负载的初始参数配置项集合进行筛选,确定各个历史工作负载的目标参数配置项集合。
具体的,由于参数配置项之间存在着某种隐式关系,即,修改其中一个参数配置项,会对其他的参数配置项产生影响,难以通过人工检查的方式发现哪些参数配置项对系统的性能有较大的影响,因此,对上述步骤c得到的样本数据集进行参数配置项的选择,提取出部分参数配置项来替代原始的参数配置项,该部分参数配置项则作为需要调优的参数配置项。
在本实施例中,利用顶层特征选择技术中的稳定性选择技术,对各个历史工作负载的参数配置项进行选择。例如,接上述步骤c,对矩阵new_matrix_2的(n-k)个参数配置项进行特征选择。之所以称为顶层,是因为其建立在基于模型的特征选择方法基础之上。所述稳定性技术,是一种基于二次抽样和选择算法相结合的方法,选择算法为加入L1正则项的最小二乘法。该方法的主要思想是在不同的数据子集和特征子集上运行特征算法,不断地重复,最终汇总特征选择结果。
示例性的,统计某个特征被认为是重要特征的频率(被选为重要特征的次数除以它所在的子集被测试的次数)。理想情况下,重要特征的得分会接近100%,其次,稍微弱一些的特征会是非0的数,而最无用的特征得分将会接近于0。利用重要特征的频率,对所有参数配置项的重要性进行排序,选择出对数据库管理系统性能影响最大的部分参数配置项,得到矩阵new_matrix_3。
e、根据所述各个历史工作负载的目标参数配置项集合、以及所述各个历史工作负载的目标性能指标项集合,获取高质量数据集集合。
具体的,在对原始数据集合中的每个数据集进行参数配置项选择,选择出对性能影响最大的部分参数配置项;以及对原始数据集集合中的每个数据集进行性能指标项选择,选择出具有代表性的性能指标项之后,得到的数据集集合为高质量数据集集合。
示例性的,利用顶层特征选择技术,将矩阵new_matrix_2的(n-k)个参数配置项进行特征选择之后,得到的矩阵new_matrix_3有q个参数配置项,则矩阵new_matrix_3是参数配置项和性能指标项均经过处理之后对应的历史工作负载workload1的样本数据集,矩阵new_matrix_3中每一个样本的维度为1×(q+p)。
综上所述,利用步骤a-e的方法,可对原始数据集进行预处理,得到经过降维的数据集new_matrix_3。
S123、根据所述高质量数据集集合,基于特征选择技术,获取所述目标工作负载的相似工作负载。
可选的,根据所述高质量数据集集合,基于特征选择技术,获取所述目标工作负载的相似工作负载,可以通过如下方式实现:
(1)对所述目标工作负载执行基准测试,获取所述目标工作负载的参数配置项的值和性能指标项的值。
其中,基准测试是一种测量和评估软件性能指标的活动,在目标工作负载用于数据库管理系统的基准测试时,数据库管理系统可以执行目标工作负载中的每条sql语句,然后输出一组性能数据,例如每秒吞吐量、每秒查询量、并发数(系统同时处理的请求/事务的数量)、响应时间等。
具体的,在目标数据库管理系统上运行需要优化的目标工作负载,并运用基准测试获取目标工作负载的参数配置项的值和性能指标项的值。
(2)根据所述各个历史工作负载的目标性能指标项集合,筛选出所述目标工作负载对应的性能指标项。
具体的,以各个历史工作负载的数据集对应的矩阵new_matrix_3中的性能指标项为依据,筛选出目标工作负载中对应的性能指标项。
(3)对所述各个历史工作负载的目标性能指标项集合的值和所述目标工作负载的性能指标项的值进行归一化处理,获取归一化后各个历史工作负载的性能指标项的特征值以及目标工作负载的性能指标项的特征值。
具体的,在利用欧式距离计算相似度,获取相似工作负载之前,必须确保所有指标的值都具有相同的量纲,否则,得到的结果将不公平,因为任何尺度更大的性能指标项的值将主导欧式距离的计算结果。因此,将数据集中的各项指标对应的值进行归一化处理,使得预处理的数据被限定在一定的范围内,确保所有指标的值都具有相同的数量级,从而消除奇异样本数据导致的不良影响。
(4)根据所述各个历史工作负载的性能指标项的特征值以及所述目标工作负载的性能指标项的特征值,获取所述目标工作负载的性能指标项的特征值与所述各个历史工作负载的性能指标项的特征值之间的欧式距离,并对所有的欧式距离进行排序,获取相似工作负载。
其中,所述相似工作负载为所述目标工作负载的性能指标项的特征值与所述各个历史工作负载的性能指标项的特征值之间的欧式距离最小的历史工作负载。
具体的,计算目标工作负载和历史工作负载中每个样本对应的性能指标项的欧氏距离,将两个工作负载对应性能指标项求得的距离进行累加,并除以数据集的样本数取平均值,将平均值作为两个工作负载之间的相似度量值。对每一个历史工作负载执行相同的操作,将这些平均值保存在列表中。其中,欧式距离通常被用于相似度衡量,距离越小相似度越大。
示例性的,对列表中的各个平均值进行排序,提取距离最小者对应的工作负载作为目标工作负载的相似工作负载,提取出相似工作负载对应的样本数据集,并删除相似工作负载对应的样本数据集中不需要优化的性能指标列,得到新的样本数据集new_matrix_4,则此时的数据集中每个样本数据的维度为1×(q+1);除此之外,保存相似工作负载下使得需要优化的指标的性能最优的参数配置项的值。
综上,通过计算目标工作负载与各个历史工作负载之间的欧氏距离,进行相似度计算,进而找到相似度最高的历史工作负载。
S13、根据所述相似工作负载对应的参数配置项的值对初始性能指标预测模型进行训练,得到目标性能指标预测模型。
具体的,初始性能指标预测模型为高斯过程回归模型,模型训练以参数配置项对应的值作为初始性能指标预测模型的输入,性能指标项对应的值作为初始性能指标预测模型拟合输出的值。
示例性的,假设数据集中的一个样本的参数配置项组合为X=[x1,x2,...,xk],对应的目标性能指标为y,目标性能指标即用户需要优化的性能指标,例如吞吐量、延迟等,则训练模型的目的是得到近似函数f(X),使得f(X)的值尽可能接近y,训练近似函数f(X)的模型为高斯过程回归模型,该模型是使用高斯过程先验对数据进行回归分析的非参数模型,高斯过程回归模型假设包括噪声和高斯过程先验两部分,其求解按贝叶斯推断进行。
S14、根据所述目标性能指标预测模型,确定使得所述目标性能指标为最优预测值的一组目标参数配置项。
可选的,步骤S14(根据所述目标性能指标预测模型,确定使得所述目标性能指标为最优预测值的一组目标参数配置项),参照图3所示,可以通过如下方式实现:
S141、将所述相似工作负载的参数配置项的值输入所述目标性能指标预测模型,获取所述目标性能指标的预测值。
具体的,将相似工作负载下的参数配置项的值作为初始性能指标预测模型的输入,输出为目标性能指标项的预测值。
S142、对所述相似工作负载的参数配置项的值在所述目标性能指标预测模型上对应的点进行梯度计算,确定使得所述目标性能指标为最优预测值的一组目标参数配置项。
具体的,模型训练完成之后,利用当前数据集中使目标性能指标的值为最优的一组参数配置项作为起点,输入到模型f(X),得到对应的目标性能指标的预测值,接下来的任务是找到一组参数配置项X,使得f(X)的预测值尽可能符合预期。采用一种梯度计算的方法来找到这组参数配置项X,梯度的本意是一个向量,表示某一函数在该点处的方向倒数沿着该方向取得最大值,即函数在该点处沿着该方向变化最快,变化率最大。从模型中的起点开始,按模型函数梯度的方向或反方向不断尝试,直到找到f(X)中的最优点,找到f(X)中最优点之后,提取出最优点对应的一组参数配置项X。
示例性的,如果目标性能指标是吞吐量,则需要找到一组参数配置项X,使得f(X)的预测值尽可能大;如果目标性能指标是延迟率,则需要找到一组参数配置项X,使得f(X)的预测值尽可能小。
S15、根据所述目标参数配置项执行所述目标工作负载,获取所述目标性能指标的值。
具体的,将目标性能指标为最优预测值对应的一组参数配置项安装在目标工作负载,通过基准测试获取目标工作负载在该组参数配置下的目标性能指标的值。
S16、若所述目标性能指标的值大于等于预设阈值,则确定所述目标性能指标的值对应的一组参数配置项为优化参数配置项。
具体的,对比参数配置项修改前后的目标性能指标的值,可以通过设定一个预设阈值来衡量,也可以通过预先设定的性能提升满意程度来衡量。其中,预设阈值、性能提升满意程度可以根据实际情况进行设置,此处不进行具体限制。
示例性的,如果参数配置项修改后对应的目标性能指标的值大于等于预设阈值,或,性能提升满意程度符合预期,则参数配置调优任务结束,并返回该组参数配置项的值,同时使用目标工作负载在修改之前的数据来更新模型;否则,重新确定相似工作负载,训练预测模型,通过梯度计算对参数配置项进行优化,直到找到一组尽可能符合要求的参数配置项。
每当给定一组参数配置项,机器学习模型可以给出一个对应的性能指标值,运用梯度计算在模型中找到最优点,将最优点对应的参数配置作为当前参数配置需要修改的值,再次进行测试,查看性能指标效果是否提升,循环以上步骤,直到得到满意的性能指标为止。
在本公开实施例中,首先确定目标工作负载和目标性能指标,获取目标工作负载的相似工作负载,其中,相似工作负载为与目标工作负载相似度最高的历史工作负载,然后根据相似工作负载对应的参数配置项的值对初始性能指标预测模型进行训练,得到目标性能指标预测模型,再根据目标性能指标预测模型,确定使得目标性能指标为最优预测值的一组目标参数配置项,最后根据目标参数配置项执行目标工作负载,获取目标性能指标的值,若目标性能指标的值大于等于预设阈值,则确定目标性能指标的值对应的一组参数配置项为优化参数配置项。由于相似工作负载为与目标工作负载相似度最高的历史工作负载,且特征选择技术可以用于降低特征冗余,减少训练数据的大小,加快模型训练速度,减少计算开销,减小模型复杂度,所以利用历史数据进行模型训练,可以避免因数据库管理员凭借经验进行参数优化造成的资源浪费,从而提高数据库管理系统的性能。
作为本公开实施例一种可选的实施方式,执行S15(根据所述目标参数配置项执行所述目标工作负载,获取所述目标性能指标的值)之后,还可以执行如下步骤:
获取性能指标集合中各个性能指标的值。
其中,所述性能指标集合包括所述目标参数配置项对应的除了所述目标性能指标之外的其他性能指标。
示例性的,假设目标性能指标为每秒处理事务数,则性能指标集合中包括:执行目标工作负载时产生的延迟、每秒查询数、每秒写入数等。
将所述目标参数配置项的值、所述目标性能指标的值、以及所述性能指标集合中各个性能指标的值,作为原始数据集集合中的一个历史工作负载进行保存。
具体的,通过执行目标工作负载,获取目标工作负载在该组参数配置下的目标性能指标的值以及其他性能指标的值,将目标参数配置项的值和目标性能指标的值,作为原始数据集集合中的一个历史工作负载进行保存,即,为历史工作负载新增了样本数据,以便于利用以往的参数调优数据进行学习,降低人工调优的时间和资源成本,从而提高数据库管理系统的性能。
在本公开实施例中,首先确定目标工作负载和目标性能指标,获取目标工作负载的相似工作负载,其中,相似工作负载为与目标工作负载相似度最高的历史工作负载,然后根据相似工作负载对应的参数配置项的值对初始性能指标预测模型进行训练,得到目标性能指标预测模型,再根据目标性能指标预测模型,确定使得目标性能指标为最优预测值的一组目标参数配置项,最后根据目标参数配置项执行目标工作负载,获取目标性能指标的值,若目标性能指标的值大于等于预设阈值,则确定目标性能指标的值对应的一组参数配置项为优化参数配置项。由于相似工作负载为与目标工作负载相似度最高的历史工作负载,且特征选择技术可以用于降低特征冗余,减少训练数据的大小,加快模型训练速度,减少计算开销,减小模型复杂度,所以利用历史数据进行模型训练,可以避免因数据库管理员凭借经验进行参数优化造成的资源浪费,从而提高数据库管理系统的性能。
在一个实施例中,如图4所示,提供了一种数据库参数配置优化装置400,包括:
配置模块410,用于确定目标工作负载和目标性能指标;
获取模块420,用于基于特征选择技术,获取所述目标工作负载的相似工作负载;所述相似工作负载为与所述目标工作负载相似度最高的历史工作负载;
训练模块430,用于根据所述相似工作负载对应的参数配置项的值对初始性能指标预测模型进行训练,得到目标性能指标预测模型;
优化模块440,用于根据所述目标性能指标预测模型,确定使得所述目标性能指标为最优预测值的一组目标参数配置项;
执行模块450,用于根据所述目标参数配置项执行所述目标工作负载,获取所述目标性能指标的值;
确定模块460,用于若所述目标性能指标的值大于等于预设阈值,则确定所述目标性能指标的值对应的一组参数配置项为优化参数配置项。
作为本公开实施例一种可选的实施方式,所述获取模块包括:
获取单元,用于获取原始数据集集合;所述原始数据集集合由各个历史工作负载的参数配置项的值和性能指标项的值组成;
预处理单元,用于对所述原始数据集集合进行预处理,获取高质量数据集集合;
筛选单元,用于根据所述高质量数据集集合,基于特征选择技术,获取所述目标工作负载的相似工作负载。
作为本公开实施例一种可选的实施方式,所述获取单元具体用于:
确定目标数据库管理系统的类型;
在所述目标数据库管理系统上执行各个历史工作负载对应的参数配置项的值,获取各个历史工作负载对应的性能指标项的值;
根据所述各个历史工作负载对应的参数配置项的值、以及所述各个历史工作负载对应的性能指标项的值,获取原始数据集集合。
作为本公开实施例一种可选的实施方式,所述预处理单元具体用于:
获取预设参数配置列表;所述预设参数配置列表包括:目标数据库管理系统禁止修改的参数配置项;
根据所述参数配置项列表对各个历史工作负载的参数配置项进行删除,确定各个历史工作负载的初始参数配置项集合;
基于特征选择技术对各个历史工作负载的性能指标项进行筛选,确定各个历史工作负载的目标性能指标项集合;
基于稳定性选择技术对所述各个历史工作负载的初始参数配置项集合进行筛选,确定各个历史工作负载的目标参数配置项集合;
根据所述各个历史工作负载的目标参数配置项集合、以及所述各个历史工作负载的目标性能指标项集合,获取高质量数据集集合。
作为本公开实施例一种可选的实施方式,所述筛选单元,具体用于:
对所述目标工作负载执行基准测试,获取所述目标工作负载的参数配置项的值和性能指标项的值;
根据所述各个历史工作负载的目标性能指标项集合,筛选出所述目标工作负载对应的性能指标项;
对所述各个历史工作负载的目标性能指标项集合的值和所述目标工作负载的性能指标项的值进行归一化处理,获取归一化后各个历史工作负载的性能指标项的特征值以及目标工作负载的性能指标项的特征值;
根据所述各个历史工作负载的性能指标项的特征值以及所述目标工作负载的性能指标项的特征值,获取所述目标工作负载的性能指标项的特征值与所述各个历史工作负载的性能指标项的特征值之间的欧式距离,并对所有的欧式距离进行排序,获取相似工作负载;
其中,所述相似工作负载为所述目标工作负载的性能指标项的特征值与所述各个历史工作负载的性能指标项的特征值之间的欧式距离最小的历史工作负载。
作为本公开实施例一种可选的实施方式,所述优化模块,具体用于:
将所述相似工作负载的参数配置项的值输入所述目标性能指标预测模型,获取所述目标性能指标的预测值;
对所述相似工作负载的参数配置项的值在所述目标性能指标预测模型上对应的点进行梯度计算,确定使得所述目标性能指标为最优预测值的一组目标参数配置项。
作为本公开实施例一种可选的实施方式,所述装置还包括:
保存模块,用于获取性能指标集合中各个性能指标的值;所述性能指标集合包括所述目标参数配置项对应的除了所述目标性能指标之外的其他性能指标;将所述目标参数配置项的值、所述目标性能指标的值、以及所述性能指标集合中各个性能指标的值,作为原始数据集集合中的一个历史工作负载进行保存。
应用本公开实施例,首先确定目标工作负载和目标性能指标,获取目标工作负载的相似工作负载,其中,相似工作负载为与目标工作负载相似度最高的历史工作负载,然后根据相似工作负载对应的参数配置项的值对初始性能指标预测模型进行训练,得到目标性能指标预测模型,再根据目标性能指标预测模型,确定使得目标性能指标为最优预测值的一组目标参数配置项,最后根据目标参数配置项执行目标工作负载,获取目标性能指标的值,若目标性能指标的值大于等于预设阈值,则确定目标性能指标的值对应的一组参数配置项为优化参数配置项。由于相似工作负载为与目标工作负载相似度最高的历史工作负载,且特征选择技术可以用于降低特征冗余,减少训练数据的大小,加快模型训练速度,减少计算开销,减小模型复杂度,所以利用历史数据进行模型训练,可以避免因数据库管理员凭借经验进行参数优化造成的资源浪费,从而提高数据库管理系统的性能。
关于数据库参数配置优化装置的具体限定可以参见上文中对于数据库参数配置优化方法的限定,在此不再赘述。上述数据库参数配置优化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备的处理器中,也可以软件形式存储于电子设备的处理器中,以便于处理器调用执行以上各个模块对应的操作。
本公开实施例还提供了一种电子设备,图5为本公开实施例提供的电子设备的结构示意图。如图5所示,本实施例提供的电子设备包括:存储器51和处理器52,存储器51用于存储计算机程序;处理器52用于调用计算机程序时执行上述方法实施例提供的数据库参数配置优化方法中任一实施例所执行的步骤。所述电子设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,所述电子设备的处理器用于提供计算和控制能力。所述电子设备的存储器包括非易失性存储介质、内存储器。所述非易失性存储介质存储有操作系统和计算机程序。所述内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。所述计算机程序被处理器执行时以实现一种数据库参数配置优化方法。所述电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,所述电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的计算机设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本公开提供的数据库参数配置优化装置可以实现为一种计算机的形式,计算机程序可以在如图5所示的电子设备上运行。电子设备的存储器中可存储组成该电子设备的数据库参数配置优化装置的各个程序模块,比如,图4中所示的配置模块410、获取模块420、训练模块430、优化模块440、执行模块450、以及确定模块460。各个程序模块构成的计算机程序使得处理器执行本说明书描述的本公开各个实施例的电子设备的数据库参数配置优化方法中的步骤。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例提供的数据库参数配置优化方法。
本领域技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
处理器可以是中央判断单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种数据库参数配置优化方法,其特征在于,所述方法包括:
确定目标工作负载和目标性能指标;
获取原始数据集集合;所述原始数据集集合由各个历史工作负载的参数配置项的值和性能指标项的值组成;
获取预设参数配置列表;所述预设参数配置列表包括:目标数据库管理系统禁止修改的参数配置项;
根据所述参数配置项列表对各个历史工作负载的参数配置项进行删除,确定各个历史工作负载的初始参数配置项集合;
基于特征选择技术对各个历史工作负载的性能指标项进行筛选,确定各个历史工作负载的目标性能指标项集合,所述特征选择技术用于无监督的筛选出最小冗余最大相关的具有代表性的性能指标项;
基于稳定性选择技术对所述各个历史工作负载的初始参数配置项集合进行筛选,确定各个历史工作负载的目标参数配置项集合,所述稳定性选择技术用于根据每个参数配置项被确定为重要参数配置项的频率来筛选出对数据库管理系统性能影响最大的参数配置项;
根据所述各个历史工作负载的目标参数配置项集合、以及所述各个历史工作负载的目标性能指标项集合,获取高质量数据集集合;
根据所述高质量数据集集合,基于特征选择技术,获取所述目标工作负载的相似工作负载;所述相似工作负载为与所述目标工作负载相似度最高的历史工作负载;
根据所述相似工作负载对应的参数配置项的值对初始性能指标预测模型进行训练,得到目标性能指标预测模型;
根据所述目标性能指标预测模型,确定使得所述目标性能指标为最优预测值的一组目标参数配置项;
根据所述目标参数配置项执行所述目标工作负载,获取所述目标性能指标的值;
若所述目标性能指标的值大于等于预设阈值,则确定所述目标性能指标的值对应的一组参数配置项为优化参数配置项。
2.根据权利要求1所述的方法,其特征在于,所述获取原始数据集集合,包括:
确定目标数据库管理系统的类型;
在所述目标数据库管理系统上执行各个历史工作负载对应的参数配置项的值,获取各个历史工作负载对应的性能指标项的值;
根据所述各个历史工作负载对应的参数配置项的值、以及所述各个历史工作负载对应的性能指标项的值,获取原始数据集集合。
3.根据权利要求1所述的方法,其特征在于,所述基于特征选择技术,获取所述目标工作负载的相似工作负载,包括:
对所述目标工作负载执行基准测试,获取所述目标工作负载的参数配置项的值和性能指标项的值;
根据所述各个历史工作负载的目标性能指标项集合,筛选出所述目标工作负载对应的性能指标项;
对所述各个历史工作负载的目标性能指标项集合的值和所述目标工作负载的性能指标项的值进行归一化处理,获取归一化后各个历史工作负载的性能指标项的特征值以及目标工作负载的性能指标项的特征值;
根据所述各个历史工作负载的性能指标项的特征值以及所述目标工作负载的性能指标项的特征值,获取所述目标工作负载的性能指标项的特征值与所述各个历史工作负载的性能指标项的特征值之间的欧式距离,并对所有的欧式距离进行排序,获取相似工作负载;
其中,所述相似工作负载为所述目标工作负载的性能指标项的特征值与所述各个历史工作负载的性能指标项的特征值之间的欧式距离最小的历史工作负载。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标性能指标预测模型,确定使得所述目标性能指标为最优预测值的一组目标参数配置项,包括:
将所述相似工作负载的参数配置项的值输入所述目标性能指标预测模型,获取所述目标性能指标的预测值;
对所述相似工作负载的参数配置项的值在所述目标性能指标预测模型上对应的点进行梯度计算,确定使得所述目标性能指标为最优预测值的一组目标参数配置项。
5.根据权利要求1所述的方法,其特征在于,在根据所述目标参数配置项执行所述目标工作负载,获取所述目标性能指标的值之后,所述方法还包括:
获取性能指标集合中各个性能指标的值;所述性能指标集合包括所述目标参数配置项对应的除了所述目标性能指标之外的其他性能指标;
将所述目标参数配置项的值、所述目标性能指标的值、以及所述性能指标集合中各个性能指标的值,作为原始数据集集合中的一个历史工作负载进行保存。
6.一种数据库参数配置优化装置,其特征在于,所述装置包括:
配置模块,用于确定目标工作负载和目标性能指标;
获取模块,用于获取原始数据集集合;所述原始数据集集合由各个历史工作负载的参数配置项的值和性能指标项的值组成;获取预设参数配置列表;所述预设参数配置列表包括:目标数据库管理系统禁止修改的参数配置项;根据所述参数配置项列表对各个历史工作负载的参数配置项进行删除,确定各个历史工作负载的初始参数配置项集合;基于特征选择技术对各个历史工作负载的性能指标项进行筛选,确定各个历史工作负载的目标性能指标项集合,所述特征选择技术用于无监督的筛选出最小冗余最大相关的具有代表性的性能指标项;基于稳定性选择技术对所述各个历史工作负载的初始参数配置项集合进行筛选,确定各个历史工作负载的目标参数配置项集合,所述稳定性选择技术用于根据每个参数配置项被确定为重要参数配置项的频率来筛选出对数据库管理系统性能影响最大的参数配置项;根据所述各个历史工作负载的目标参数配置项集合、以及所述各个历史工作负载的目标性能指标项集合,获取高质量数据集集合;根据所述高质量数据集集合,基于特征选择技术,获取所述目标工作负载的相似工作负载;所述相似工作负载为与所述目标工作负载相似度最高的历史工作负载;
训练模块,用于根据所述相似工作负载对应的参数配置项的值对初始性能指标预测模型进行训练,得到目标性能指标预测模型;
优化模块,用于根据所述目标性能指标预测模型,确定使得所述目标性能指标为最优预测值的一组目标参数配置项;
执行模块,用于根据所述目标参数配置项执行所述目标工作负载,获取所述目标性能指标的值;
确定模块,用于若所述目标性能指标的值大于等于预设阈值,则确定所述目标性能指标的值对应的一组参数配置项为优化参数配置项。
7.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的数据库参数配置优化方法。
8.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,计算机程序被处理器执行时实现权利要求1至5中任一项所述的数据库参数配置优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310315950.2A CN116401232B (zh) | 2023-03-24 | 2023-03-24 | 数据库参数配置优化方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310315950.2A CN116401232B (zh) | 2023-03-24 | 2023-03-24 | 数据库参数配置优化方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116401232A CN116401232A (zh) | 2023-07-07 |
CN116401232B true CN116401232B (zh) | 2024-01-30 |
Family
ID=87008422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310315950.2A Active CN116401232B (zh) | 2023-03-24 | 2023-03-24 | 数据库参数配置优化方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116401232B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117579485B (zh) * | 2024-01-12 | 2024-04-09 | 腾讯科技(深圳)有限公司 | 配置变更方法、装置、设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853786A (zh) * | 2012-12-06 | 2014-06-11 | 中国电信股份有限公司 | 数据库参数的优化方法与系统 |
CN110188086A (zh) * | 2019-05-05 | 2019-08-30 | 北京百度网讯科技有限公司 | 基于负载自动预测的数据库自动调优方法及装置 |
CN111311104A (zh) * | 2020-02-27 | 2020-06-19 | 第四范式(北京)技术有限公司 | 一种配置文件的推荐方法、装置及系统 |
CN112052082A (zh) * | 2020-09-01 | 2020-12-08 | 深圳市卡数科技有限公司 | 任务属性优化方法、装置、服务器及存储介质 |
CN112328332A (zh) * | 2021-01-05 | 2021-02-05 | 苏州博纳讯动软件有限公司 | 一种面向云计算环境的数据库配置优化方法 |
CN113064879A (zh) * | 2021-03-12 | 2021-07-02 | 腾讯科技(深圳)有限公司 | 数据库参数调整方法、装置及计算机可读存储介质 |
CN113806190A (zh) * | 2020-06-17 | 2021-12-17 | 华为技术有限公司 | 一种预测数据库管理系统的性能的方法、装置及系统 |
WO2022001965A1 (zh) * | 2020-06-30 | 2022-01-06 | 中兴通讯股份有限公司 | 数据库配置参数调整方法、设备及存储介质 |
CN115293278A (zh) * | 2022-08-16 | 2022-11-04 | 竹间智能科技(上海)有限公司 | 模型训练超参优化处理方法、系统、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220222231A1 (en) * | 2021-01-13 | 2022-07-14 | Coupang Corp. | Computerized systems and methods for using artificial intelligence to optimize database parameters |
-
2023
- 2023-03-24 CN CN202310315950.2A patent/CN116401232B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853786A (zh) * | 2012-12-06 | 2014-06-11 | 中国电信股份有限公司 | 数据库参数的优化方法与系统 |
CN110188086A (zh) * | 2019-05-05 | 2019-08-30 | 北京百度网讯科技有限公司 | 基于负载自动预测的数据库自动调优方法及装置 |
CN111311104A (zh) * | 2020-02-27 | 2020-06-19 | 第四范式(北京)技术有限公司 | 一种配置文件的推荐方法、装置及系统 |
CN113806190A (zh) * | 2020-06-17 | 2021-12-17 | 华为技术有限公司 | 一种预测数据库管理系统的性能的方法、装置及系统 |
WO2022001965A1 (zh) * | 2020-06-30 | 2022-01-06 | 中兴通讯股份有限公司 | 数据库配置参数调整方法、设备及存储介质 |
CN112052082A (zh) * | 2020-09-01 | 2020-12-08 | 深圳市卡数科技有限公司 | 任务属性优化方法、装置、服务器及存储介质 |
CN112328332A (zh) * | 2021-01-05 | 2021-02-05 | 苏州博纳讯动软件有限公司 | 一种面向云计算环境的数据库配置优化方法 |
CN113064879A (zh) * | 2021-03-12 | 2021-07-02 | 腾讯科技(深圳)有限公司 | 数据库参数调整方法、装置及计算机可读存储介质 |
CN115293278A (zh) * | 2022-08-16 | 2022-11-04 | 竹间智能科技(上海)有限公司 | 模型训练超参优化处理方法、系统、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于运行数据分析的Spark任务参数优化;陈侨安等;《计算机工程与科学》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116401232A (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3963469B1 (en) | Learned resource consumption model for optimizing big data queries | |
US11194809B2 (en) | Predicting performance of database queries | |
US10643132B2 (en) | Cardinality estimation using artificial neural networks | |
US20190122078A1 (en) | Search method and apparatus | |
JP2017228086A (ja) | 機械学習管理プログラム、機械学習管理方法、および機械学習管理装置 | |
US8935233B2 (en) | Approximate index in relational databases | |
US8566308B2 (en) | Intelligent adaptive index density in a database management system | |
CN110717687A (zh) | 一种评价指数获取的方法及系统 | |
CN116401232B (zh) | 数据库参数配置优化方法、装置、电子设备及存储介质 | |
CN111783867A (zh) | 机器学习算法选择方法及装置 | |
US11550762B2 (en) | Implementation of data access metrics for automated physical database design | |
WO2022066245A1 (en) | Data-driven checkpoint selector | |
CN110377519B (zh) | 大数据系统的性能容量测试方法、装置、设备及存储介质 | |
Kumar et al. | Scalable performance tuning of hadoop MapReduce: A noisy gradient approach | |
CN114881343A (zh) | 基于特征选择的电力系统短期负荷预测方法及装置 | |
US20190392331A1 (en) | Automatic and self-optimized determination of execution parameters of a software application on an information processing platform | |
US20140303933A1 (en) | Optimizing analytic flows | |
US11593700B1 (en) | Network-accessible service for exploration of machine learning models and results | |
CN111581197B (zh) | 对数据集中的数据表进行抽样和校验的方法及装置 | |
Trushkowsky et al. | Getting it all from the crowd | |
CN116861373A (zh) | 一种查询选择率估算方法、系统、终端设备及存储介质 | |
US20220245492A1 (en) | Constructing a statistical model and evaluating model performance | |
US11645283B2 (en) | Predictive query processing | |
CN113127342B (zh) | 基于电网信息系统特征选择的缺陷预测方法及装置 | |
Kleerekoper et al. | A scalable implementation of information theoretic feature selection for high dimensional data |
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 |