CN112948357B - 一种面向多模数据库OrientDB的调优系统及其构建方法 - Google Patents
一种面向多模数据库OrientDB的调优系统及其构建方法 Download PDFInfo
- Publication number
- CN112948357B CN112948357B CN202110274491.9A CN202110274491A CN112948357B CN 112948357 B CN112948357 B CN 112948357B CN 202110274491 A CN202110274491 A CN 202110274491A CN 112948357 B CN112948357 B CN 112948357B
- Authority
- CN
- China
- Prior art keywords
- orientdb
- database
- data
- tuning
- workload
- 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
Images
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/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Physiology (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)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种面向多模数据库OrientDB的调优系统及其构建方法,系统包括:基础设施层、工作负载生成器、参数调优层和用户接口层,自下而上依次排布;方法包括如下步骤:(1)基础设施虚拟化;(2)实现不同的数据请求分布方式;(3)实现多模数据库OrientDB的读写任务;(4)参数化线程数;(5)实现多模数据库OrientDB的参数调优;(6)实现多模数据库OrientDB的调优界面,并实现与后台的连接,为了使用户可以便捷地进行工作负载的设置以及直观地查看调优结果。本发明实现了工作负载的复杂性以及调优任务的多样性,通过构建GPR模型来学习多模数据库OrientDB的参数和性能之间的关系,并利用改进的遗传算法来寻找最优解。
Description
技术领域
本发明涉及软件性能调优与度量分析技术领域,尤其是一种面向多模数据库OrientDB的调优系统及其构建方法。
背景技术
大数据时代,数据正在以惊人的速度膨胀。互联网用户,尤其是社交媒体用户的数量成倍增长,这导致大量复杂的数据以非常快的速度产生。这对数据库提出了更高的需求:快速,准确。然而,传统关系型数据库已经无法支撑如此庞大的数据量,也无法满足对非结构化数据的管理,这也是近几年NoSQL数据库兴起的原因。同时,在开发一个应用系统时总是会涉及到多种数据模型,比如关系数据、键/值对、文档数据和图数据等。为了解决同时管理结构化和非结构化数据的难题,不少NoSQL逐步向多模数据库转变。
数据库管理系统配置调整是任何数据密集型应用程序工作的一个重要方面。但这在历史上是一项艰巨的任务,因为数据库管理系统有数百个配置“旋钮”,控制系统中的一切,如用于缓存的内存量和数据写入存储的频率。这些旋钮的问题在于它们不是标准化的,不是独立的(即改变一个旋钮会影响其他旋钮),也不是通用的(即对一个应用程序有效的东西对另一个应用程序可能不是最佳的)。更糟糕的是,关于旋钮效果的信息通常只来自(昂贵的)经验。
然而,调优工作需要训练数据的支持,这些数据是基于工作负载生成器或评测系统获得的。目前,已有许多大数据基准评测平台或工具,如YCSB、YCSB++、BigDataBench。但是,它们都是针对NoSQL数据库或关系型数据库的,例如YCSB只能够测试OrientDB涉及文档数据的性能。
发明内容
本发明所要解决的技术问题在于,提供一种面向多模数据库OrientDB的调优系统及其构建方法,实现了工作负载的复杂性以及调优任务的多样性,通过构建GPR模型来学习多模数据库OrientDB的参数和性能之间的关系,并利用改进的遗传算法来寻找最优解。
为解决上述技术问题,本发明提供一种面向多模数据库OrientDB的调优系统,包括:基础设施层、工作负载生成器、参数调优层和用户接口层,自下而上依次排布。
优选的,基础设施层是一个计算机集群或云计算环境,为多模数据库OrientDB的部署提供硬件基础或虚拟机环境。
优选的,工作负载生成器中添加了不同的数据库操作、数据请求分布方式、线程数和操作数作为参数;对于数据库操作,分别实现了对键/值、文档和图三种数据模型的多模数据库操作,包括增加、查询、删除、更新、聚合和扫描操作;对于数据请求分布方式,负载生成器提供了四种数据请求分布方式供用户选择设定,分别是:Zipfian、Uniform、Normal和Latest,Zipfian分布是指根据Zipfian定律来选择数据,假设数据按照受欢迎程度排序,使得越靠前的数据被访问的几率越高,Uniform分布即随机分布,所有数据被访问的概率相同,Latest分布表示最新插入的数据具有最高的优先级,被访问到的几率更高,Normal分布即根据正态分布,将请求的数据位置集中在数据集的中间位置;工作负载生成器用来生成和执行用户指定的工作负载。
优选的,参数调优层通过构建高斯过程回归GPR模型来学习数据库参数和性能之间的关系,并利用改进的遗传算法来推荐配置参数;对于用户给定的工作负载,首先交由工作负载生成器来执行并收集运行结果;然后,将收集到的数据用于构建GPR模型,并根据优化算法在模型中寻找使得吞吐量最高的参数;接下来,利用这些参数重新配置OrientDB,并重新执行如上步骤;通过多轮迭代反复优化模型,最终能够推荐出最佳参数;参数调优层用来实现多模数据库OrientDB的调优工作。
优选的,用户接口层分为操作设置区和结果显示区两个部分,操作设置区使用户能够方便地设置工作负载类型和参数,结果显示区用来显示最终的运行结果,即参数调优层输出的参数配置,供用户参考。
相应的,一种面向多模数据库OrientDB的调优系统的其构建方法,包括如下步骤:
(1)基础设施虚拟化;利用虚拟化技术,扩展出多个配置完全一致的虚拟服务器,在各个虚拟服务器上都安装OrientDB的实例,并搭建出OrientDB集群;
(2)实现不同的数据请求分布方式;每一种分布方式都需要一个具体的实现类,系统通过实现并调用各类的nextValue方法来获取需要被访问的记录id,从而根据这个id来检索数据库中的记录,假设数据库中某一集合一共有n条记录,对于Uniform分布,通过生成一个(0,n-1)范围内的随机数,即为所需的记录项,对于Latest分布,则优先访问集合中最新插入的数据,对于Normal分布,系统将期望和方差分别设置为σ=1,使得数据的分布大多集中在集合的中间位置,而Zipfian分布则生成被访问的记录id,使得排列靠前的数据拥有较高的优先级;
(3)实现多模数据库OrientDB的读写任务,包括键/值、文档和图3种数据模型的添加、查询、删除、更新以及扫描操作;实现多模型数据的跨模型连接查询,包括文档和图的连接、文档和键值对的连接以及三种数据模型的连接;在工作负载全部执行完成后,根据OrientDB的执行时间计算出吞吐量指标并将其存储在文件仓库中;
(4)参数化线程数,使工作负载生成器能够生成指定个数的线程来执行工作负载,从而实现不同的线程级别下多模数据库OrientDB的性能测试;
(5)实现多模数据库OrientDB的参数调优;
(6)实现多模数据库OrientDB的调优界面,并实现与后台的连接,为了使用户可以便捷地进行工作负载的设置以及直观地查看调优结果。
优选的,步骤(4)中,参数化线程数,使工作负载生成器能够生成指定个数的线程来执行工作负载,从而实现不同的线程级别下多模数据库OrientDB的性能测试具体包括如下步骤:
(41)实现数据库的连接类Connection,并返回OrientDB的连接对象;
(42)实现Runnable接口,为每个线程维持一个OrientDB连接对象,在run方法中首先判断数据库连接是否存在或可用,如果可用即可执行多模数据库操作,否则调用Connection类的方法创建连接;
(43)创建线程池并设置核心线程数,通过execute方法来执行负载。
优选的,步骤(5)中,实现多模数据库OrientDB的参数调优具体包括如下步骤:
(51)利用工作负载生成器为GPR模型的搭建生成训练数据,首先,在可调整的参数空间内随机生成一系列参数值用于配置数据库OrientDB;接着,通过工作负载生成器执行输入的工作负载获得吞吐量指标,并将其存储在文件仓库中;最后,通过15轮迭代得到15组数据;
(52)收集文件仓库中的数据用于构建GPR模型,并通过改进的遗传算法GA在模型中搜索出使得吞吐量最高的参数配置,首先对父代以适应性进行排列,使得目标值小的与小的匹配,大的与大的匹配,然后利用Logisitic混沌序列定位到被切断点的位置,最后对基因链进行交叉形成新的染色体;
(53)将GA-Logistic算法推荐的参数重新配置到OrientDB中,并利用负载生成器重新执行工作负载,将得到的执行结果添加到数据仓库中用于训练模型,GA-Logistic会重新在模型中搜索新的参数值,复执行以上步骤,直到训练次数达到R。
优选的,步骤(6)中,实现多模数据库OrientDB的调优界面,并实现与后台的连接,为了使用户可以便捷地进行工作负载的设置以及直观地查看调优结果具体包括如下步骤:
(61)工作负载选择区域;用户可以在该区域设置工作负载的内容,包括需要实现的多模数据库操作、数据类型、数据请求分布方式、操作数和线程数;用户完成所有工作负载的参数选择后,并点击调优按钮,OrientDB即开始执行相应负载;同时,在该区域还提供了清空数据库这一选项;为确保多模数据库OrientDB中不存在多余数据,用户可以点击该按钮,将数据库中现有的数据删除;
(62)结果展示区域;当系统执行完调优工作后,会在该区域将最终的调优结果和推荐的配置参数显示出来。
本发明的有益效果为:本发明根据多模数据的特性,针对OrientDB支持的3种数据模型,分别实现了它们的CRUD操作以及各种扩模型的连接查询操作,从而实现了工作负载的复杂性以及调优任务的多样性;通过研发一个OrientDB的工作负载执行器,全面地实现了它能够支持的数据库任务;同时,实现了不同的数据请求分布方式,如Zipfian、Uniform、Normal和Latest,以满足不同的场景需求,并且引入了线程池,用户可以设置执行工作负载所需的线程数;对于调优工作,通过构建GPR模型来学习多模数据库OrientDB的参数和性能之间的关系,并利用改进的遗传算法来寻找最优解。
附图说明
图1为本发明的体系结构示意图。
图2为本发明的用户界面示意图。
图3为本发明改进的遗传算法流程示意图。
具体实施方式
如图1所示,一种面向多模数据库OrientDB的调优系统,包括:基础设施层、工作负载执生产器、参数调优层和用户接口层,自下而上依次排列。
基础设施层本质是一个计算机集群或云计算环境,且这些虚拟机的配置完全一致,为OrientDB(键/值、文档和图)提供硬件基础或虚拟机运行时环境。
工作负载生成器用来与OrientDB进行交互,并为GPR模型提供训练数据。为了全面地测试多模数据库OrientDB的性能,在工作负载生成器中添加了不同的数据库操作、数据请求分布方式、线程数和操作数作为参数。对于数据库操作,分别实现了对键/值、文档和图三种数据模型的多模数据库操作,包括增加、查询、删除、更新、聚合和扫描操作。除此之外,为了体现多模数据库OrientDB能够同时管理多种数据模型的特性,还实现了跨模型的连接查询操作。对于数据请求分布方式,负载生成器提供了四种数据请求分布方式供用户选择设定,分别是:Zipfian、Uniform、Normal和Latest。其中,Zipfian分布是指根据Zipfian定律来选择数据,在本发明中假设数据按照受欢迎程度排序,这样使得越靠前的数据被访问的几率越高。Uniform分布即随机分布,这意味着所有数据被访问的概率相同。Latest分布表示最新插入的数据具有最高的优先级,被访问到的几率更高。Normal分布即根据正态分布,是将请求的数据位置集中在数据集的中间位置。
每个工作负载代表这些参数的特定组合,可用于在性能空间评估系统。不同于执行特定的数据库事务,设置工作负载中各种参数的值能够更加贴近现代应用系统的任务,这样的负载设计同时也为调优问题提供了可扩展的空间,使得发明能够在不同数量级、不同操作类型等方面对数据库进行调优。
为了实现多模数据库OrientDB的性能调优,本机制结合高斯过程回归(GPR)和优化算法来推荐最佳的配置参数。其中,GPR模型利用工作负载得到的执行结果来学习和预测OrientDB的性能;改进的遗传算法用来模型中寻找最佳参数。在调优的前期通过随机生成参数值来配置OrientDB,利用工作负载生成器来执行用户指定的负载,在执行完成后将得到的吞吐量指标收集起来构建GPR模型,再通过改进的遗传算法搜索最优参数。后期则根据算法选择的参数来配置数据库,并不断向数据仓库中添加负载生成器测试出的数据以训练GPR模型,推荐最佳参数。
将机器学习和优化算法应用到多模数据库OrientDB的调优工作中,通过构建数据库的性能预测模型,避免了大量密集的离线基准测试,使得多模数据库OrientDB能够在有效的时间内获得最佳的数据库参数配置。
用户接口层分为操作设置区和结果显示区两个部分。操作设置区使用户能够方便地设置工作负载参数。结果显示区用来显示针对用户指定的工作负载GPR模型推荐的参数配置,供用户参考。
本发明还公开了面向多模数据库OrientDB的调优系统的构建方法,包括如下步骤:
步骤1:基础设施虚拟化。首先,利用服务器虚拟化技术,扩展出多个虚拟服务器,并确保虚拟服务器中配置完全一致。接着,在每台虚拟服务器上安装操作系统,规划网络节点和端口,并下载安装OrientDB。最后,为各服务器上的多模数据库OrientDB搭建集群。OrientDB的集群搭建过程如下:
(1)关闭防火墙;
systemctl stop firewalld&&systemctl disable firewalld
(2)根据OrientDB官网提示,安装对应版本的OrientDB;
到https://orientdb.com/download-2/下载OrientDB并解压:
tar-zxf orientdb-3.0.22.tar.gz
移至bin目录下,启动OrientDB服务器:
./server.sh
(3)搭建集群
配置环境变量:
vi/etc/profile
export ORIENTDB_HOME=/opt/orientdb
export PATH=$PATH:$ORIENTDB_HOME/bin
重新加载文件:
source/etc/profile
修改bin目录下的orientdb.sh文件中的路径和用户名:
vi/opt/orientdb/bin/orientdb.sh
ORIENT_DIR="/opt/orientdb"
ORIENTDB_USER="root"
修改bin目录下的orientdb.service:
vi/opt/orientdb/bin/orientdb.service
User=root
Group=root
启动OrientDB,首次启动,需要设置root的密码和节点名称
./dserver.sh
启动各节点服务:
./orientdb.sh start
三台机器上的OrientDB全部启动后,会在log中提示可以通过浏览器访问数据库,则表明集群搭建成功。
步骤2:实现不同的数据请求分布方式。每一种分布方式都需要一个具体的实现类,系统通过实现并调用各类的nextValue方法来获取需要被访问的记录id,从而根据这个id来检索数据库中的记录。假设数据库中某一集合一共有n条记录,对于Uniform分布,通过生成一个(0,n-1)范围内的随机数,即为所需的记录项。对于Latest分布,则优先访问集合中最新插入的数据。对于Normal分布,系统将期望和方差分别设置为σ=1,使得数据的分布大多集中在集合的中间位置。而Zipfian分布则通过如下步骤来生成被访问的记录id,使得排列靠前的数据拥有较高的优先级。
(1)对于每条记录i,通过公式1-1为它赋予流行度指标。
(2)根据Zipfian定律的特征,利用公式1-2计算出记录i被访问的概率,并利用公式1-3将记录0到记录i之间的所有被访问概率相加。
si=∑ipi (1-3)
(3)生成一个[0,sn]范围内的随机数,并将其依次与s0,s1,……,sn比较。当它在[sm-1,sm]范围内时,则m为最终的记录id。
步骤3:实现多模数据库OrientDB的读写任务,包括键/值、文档和图3种数据模型的添加、查询、删除、更新以及扫描操作。同时,实现多模型数据的跨模型连接查询,包括文档和图的连接、文档和键值对的连接以及三种数据模型的连接等。在工作负载全部执行完成后,根据OrientDB的执行时间计算出吞吐量指标并将其存储在文件仓库中。
步骤4:参数化线程数,使工作负载生成器能够生成指定个数的线程以执行工作负载,从而测试在不同的线程级别下OrientDB的性能。整体步骤如下:
(1)实现数据库的连接类Connection,并返回OrientDB的连接对象。
(2)实现Runnable接口,为每个线程维持一个OrientDB连接对象,在run方法中首先判断数据库连接是否存在或可用,如果可用即可执行多模数据库操作。否则调用Connection类的方法创建连接。
(3)创建线程池并设置核心线程数,通过execute方法来执行负载。
步骤5:实现OrientDB的参数调优,在负载生成器实现的基础上,构建高斯过程回归(GPR)模型来预测OrientDB的执行性能,并利用改进的遗传算法来搜索最佳的配置参数。该过程的算法如下:
输入:工作负载,训练次数R
输出:推荐的配置
(1)利用工作负载生成器为GPR模型的搭建生成训练数据。具体来说,首先,在可调整的参数空间内随机生成一系列参数值用于配置数据库OrientDB;接着,通过工作负载生成器执行输入的工作负载获得吞吐量指标,并将其存储在文件仓库中;最后,通过15轮迭代得到15组数据。
(2)收集文件仓库中的数据用于构建GPR模型,并通过改进的遗传算法(GA)在模型中搜索出使得吞吐量最高的参数配置。其中,与基础的遗传算法相比,本发明对交叉过程进行了改进,它首先对父代以适应性进行排列,使得目标值小的与小的匹配,大的与大的匹配,然后利用Logisitic混沌序列定位到被切断点的位置,最后对基因链进行交叉形成新的染色体。
(3)将GA-Logistic算法推荐的参数重新配置到OrientDB中,并利用负载生成器重新执行工作负载,将得到的执行结果添加到数据仓库中用于训练模型。接着,GA-Logistic会重新在模型中搜索新的参数值。重复执行以上步骤,直到训练次数达到R,具体的流程如图3所示。
步骤6:实现多模数据库OrientDB的调优界面,并实现与后台的连接,为了使用户可以便捷地进行工作负载的设置以及直观地查看调优结果。用户界面一共分为如下2个部分:
(1)工作负载选择区域。用户可以在该区域设置工作负载的内容,包括需要实现的多模数据库操作、数据类型、数据请求分布方式、操作数和线程数。用户完成所有工作负载的参数选择后,并点击调优按钮,OrientDB即开始执行相应负载。同时,在该区域还提供了清空数据库这一选项。为确保多模数据库OrientDB中不存在多余数据,用户可以点击该按钮,将数据库中现有的数据删除。
(2)结果展示区域。当系统执行完调优工作后,会在该区域将最终的调优结果和推荐的配置参数显示出来。
不同工作负载对应的用户操作如下:
添加、查询、删除、修改、扫描和计算最短路径操作:用户在界面选择待测试的数据模型和请求分布方式,并在文本框填写需要执行的操作数、线程数以及训练次数,点击调优按钮。当系统执行完调优操作后,在界面的结果展示区将记录负载的参数和数据库的最佳配置。
连接查询操作:与上述单一数据模型的操作不同,对于连接查询,用户可以选择多个需要关联的数据模型进行调优操作。
Claims (8)
1.一种面向多模数据库OrientDB的调优系统的构建方法,其特征在于,包括如下步骤:
(1)基础设施虚拟化;利用虚拟化技术,扩展出多个配置完全一致的虚拟服务器,在各个虚拟服务器上都安装OrientDB的实例,并搭建出OrientDB集群;
(2)实现不同的数据请求分布方式;每一种分布方式都需要一个具体的实现类,系统通过实现并调用各类的nextValue方法来获取需要被访问的记录id,从而根据这个id来检索数据库中的记录,假设数据库中某一集合一共有n条记录,对于Uniform分布,通过生成一个(0,n-1)范围内的随机数,即为所需的记录项,对于Latest分布,则优先访问集合中最新插入的数据,对于Normal分布,系统将期望和方差分别设置为σ=1,使得数据的分布大多集中在集合的中间位置,而Zipfian分布则生成被访问的记录id,使得排列靠前的数据拥有高优先级;
(3)实现多模数据库OrientDB的读写任务,包括键/值、文档和图3种数据模型的添加、查询、删除、更新以及扫描操作;实现多模型数据的跨模型连接查询,包括文档和图的连接、文档和键值对的连接以及三种数据模型的连接;在工作负载全部执行完成后,根据OrientDB的执行时间计算出吞吐量指标并将其存储在文件仓库中;
(4)参数化线程数,使工作负载生成器能够生成指定个数的线程来执行工作负载,从而实现不同的线程级别下多模数据库OrientDB的性能测试;
(5)实现多模数据库OrientDB的参数调优;具体包括如下步骤:
(51)利用工作负载生成器为GPR模型的搭建生成训练数据,首先,在可调整的参数空间内随机生成一系列参数值用于配置数据库OrientDB;接着,通过工作负载生成器执行输入的工作负载获得吞吐量指标,并将其存储在文件仓库中;最后,通过15轮迭代得到15组数据;
(52)收集文件仓库中的数据用于构建GPR模型,并通过改进的遗传算法GA在模型中搜索出使得吞吐量最高的参数配置,首先对父代以适应性进行排列,使得目标值小的与小的匹配,大的与大的匹配,然后利用Logisitic混沌序列定位到被切断点的位置,最后对基因链进行交叉形成新的染色体;
(53)将GA-Logistic算法推荐的参数重新配置到OrientDB中,并利用负载生成器重新执行工作负载,将得到的执行结果添加到数据仓库中用于训练模型,GA-Logistic会重新在模型中搜索新的参数值,复执行以上步骤,直到训练次数达到R;
(6)实现多模数据库OrientDB的调优界面,并实现与后台的连接,为了使用户便捷地进行工作负载的设置以及直观地查看调优结果。
2.如权利要求1所述的面向多模数据库OrientDB的调优系统的构建方法,其特征在于,步骤(4)中,参数化线程数,使工作负载生成器能够生成指定个数的线程来执行工作负载,从而实现不同的线程级别下多模数据库OrientDB的性能测试具体包括如下步骤:
(41)实现数据库的连接类Connection,并返回OrientDB的连接对象;
(42)实现Runnable接口,为每个线程维持一个OrientDB连接对象,在run方法中首先判断数据库连接是否存在或可用,如果可用即执行多模数据库操作,否则调用Connection类的方法创建连接;
(43)创建线程池并设置核心线程数,通过execute方法来执行负载。
3.如权利要求1所述的面向多模数据库OrientDB的调优系统的构建方法,其特征在于,步骤(6)中,实现多模数据库OrientDB的调优界面,并实现与后台的连接,为了使用户便捷地进行工作负载的设置以及直观地查看调优结果具体包括如下步骤:
(61)工作负载选择区域;用户在该区域设置工作负载的内容,包括需要实现的多模数据库操作、数据类型、数据请求分布方式、操作数和线程数;用户完成所有工作负载的参数选择后,并点击调优按钮,OrientDB即开始执行相应负载;同时,在该区域还提供了清空数据库这一选项;为确保多模数据库OrientDB中不存在多余数据,用户点击该按钮,将数据库中现有的数据删除;
(62)结果展示区域;当系统执行完调优工作后,会在该区域将最终的调优结果和推荐的配置参数显示出来。
4.一种面向多模数据库OrientDB的调优系统,所述调优系统实现如权利要求1所述的构建方法,其特征在于,包括:基础设施层、工作负载生成器、参数调优层和用户接口层,自下而上依次排布。
5.如权利要求4所述的调优系统,其特征在于,基础设施层是一个计算机集群或云计算环境,为多模数据库OrientDB的部署提供硬件基础或虚拟机环境。
6.如权利要求4所述的调优系统,其特征在于,工作负载生成器中添加了不同的数据库操作、数据请求分布方式、线程数和操作数作为参数;对于数据库操作,分别实现了对键/值、文档和图三种数据模型的多模数据库操作,包括增加、查询、删除、更新、聚合和扫描操作;对于数据请求分布方式,负载生成器提供了四种数据请求分布方式供用户选择设定,分别是:Zipfian、Uniform、Normal和Latest,Zipfian分布是指根据Zipfian定律来选择数据,假设数据按照受欢迎程度排序,使得越靠前的数据被访问的几率越高,Uniform分布即随机分布,所有数据被访问的概率相同,Latest分布表示最新插入的数据具有最高的优先级,被访问到的几率更高,Normal分布即根据正态分布,将请求的数据位置集中在数据集的中间位置;工作负载生成器用来生成和执行用户指定的工作负载。
7.如权利要求4所述的调优系统,其特征在于,参数调优层通过构建高斯过程回归GPR模型来学习数据库参数和性能之间的关系,并利用改进的遗传算法来推荐配置参数;对于用户给定的工作负载,首先交由工作负载生成器来执行并收集运行结果;然后,将收集到的数据用于构建GPR模型,并根据优化算法在模型中寻找使得吞吐量最高的参数;接下来,利用这些参数重新配置OrientDB,并重新执行如上步骤;通过多轮迭代反复优化模型,最终能够推荐出最佳参数;参数调优层用来实现多模数据库OrientDB的调优工作。
8.如权利要求4所述的调优系统,其特征在于,用户接口层分为操作设置区和结果显示区两个部分,操作设置区使用户能够方便地设置工作负载类型和参数,结果显示区用来显示最终的运行结果,即参数调优层输出的参数配置,供用户参考。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110274491.9A CN112948357B (zh) | 2021-03-15 | 2021-03-15 | 一种面向多模数据库OrientDB的调优系统及其构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110274491.9A CN112948357B (zh) | 2021-03-15 | 2021-03-15 | 一种面向多模数据库OrientDB的调优系统及其构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112948357A CN112948357A (zh) | 2021-06-11 |
CN112948357B true CN112948357B (zh) | 2023-04-25 |
Family
ID=76229812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110274491.9A Active CN112948357B (zh) | 2021-03-15 | 2021-03-15 | 一种面向多模数据库OrientDB的调优系统及其构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948357B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230059486A (ko) * | 2021-10-26 | 2023-05-03 | 연세대학교 산학협력단 | 기계 학습 기반 데이터베이스 튜닝 방법 및 장치 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008272B (zh) * | 2019-04-10 | 2020-01-31 | 张绿儿 | 面向传感器数据的NoSQL数据库评测系统及其构建方法 |
CN112131206B (zh) * | 2020-09-24 | 2023-01-10 | 北京计算机技术及应用研究所 | 一种多模型数据库OrientDB参数配置自动调优方法 |
-
2021
- 2021-03-15 CN CN202110274491.9A patent/CN112948357B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112948357A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7779031B2 (en) | Multidimensional query simplification using data access service having local calculation engine | |
US7003759B2 (en) | Collection makefile generator | |
EP2369506B1 (en) | System and method of optimizing performance of schema matching | |
US9652498B2 (en) | Processing queries using hybrid access paths | |
US20030208284A1 (en) | Modular architecture for optimizing a configuration of a computer system | |
EP1637993A2 (en) | Impact analysis in an object model | |
US20070112609A1 (en) | Methods and apparatus to incorporate user feedback during planning | |
CN101587491A (zh) | 使用运行时可重配置硬件的混合数据库系统 | |
Malik et al. | A Black-Box Approach to Query Cardinality Estimation. | |
CN110019551A (zh) | 一种数据仓库构建方法及装置 | |
Paludo Licks et al. | SmartIX: A database indexing agent based on reinforcement learning | |
Doka et al. | Ires: Intelligent, multi-engine resource scheduler for big data analytics workflows | |
Lin et al. | Adaptive code learning for spark configuration tuning | |
Kossmann et al. | Self-driving database systems: a conceptual approach | |
CN112948357B (zh) | 一种面向多模数据库OrientDB的调优系统及其构建方法 | |
CN117389541B (zh) | 基于对话检索生成模板的配置系统及设备 | |
Hilprecht et al. | Diffml: End-to-end differentiable ML pipelines | |
Damasio et al. | Guided automated learning for query workload re-optimization | |
Deutch et al. | Declarative platform for data sourcing games | |
Redyuk et al. | DORIAN in action: assisted design of data science pipelines | |
Ye et al. | Parameters tuning of multi-model database based on deep reinforcement learning | |
Li et al. | Phronesis: Efficient performance modeling for high-dimensional configuration tuning | |
US20160042033A1 (en) | Query execution apparatus and method, and system for processing data employing the same | |
Chen et al. | Confadvisor: an automatic configuration tuning framework for NoSQL database benchmarking with a black-box approach | |
Idreos et al. | The internals of the data calculator |
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 |