CN111581454B - 基于深度图压缩算法的并行查询表现预测系统及方法 - Google Patents
基于深度图压缩算法的并行查询表现预测系统及方法 Download PDFInfo
- Publication number
- CN111581454B CN111581454B CN202010342856.2A CN202010342856A CN111581454B CN 111581454 B CN111581454 B CN 111581454B CN 202010342856 A CN202010342856 A CN 202010342856A CN 111581454 B CN111581454 B CN 111581454B
- Authority
- CN
- China
- Prior art keywords
- query
- module
- graph
- depth map
- nodes
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
-
- 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
-
- 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)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于深度图压缩算法的并行查询表现预测系统及创建和使用方法,该系统包括:查询预处理模块,用于对并行查询信息进行提取,并更新负载图的节点和边特征,以及对负载图进行合并;在线预测模块,用于利用模型计算出负载图上并行查询的执行特征;离线训练模块,用于利用历史数据训练深度图压缩模型和深度学习模型以学习模型的参数。该系统可以较准确地预测数据库中并行查询的执行表现。
Description
技术领域
本发明涉及信息检索技术领域,特别涉及一种基于深度图压缩算法的并行查询表现预测系统及方法。
背景技术
在数据库系统中,预测查询任务的执行表现对于满足服务等级协议(Service-Level Agreement,SLA)有非常重要的意义,如可以应用到负载调度、参数调优、进程监控等多种优化任务中。
然而,现有的预测方法主要面向串行查询,不能高效的预测并行执行的查询任务表现。一个主要原因就是他们没有考虑并行执行的查询任务之间复杂的关联关系,如数据共享、读写冲突等。这些关联关系会显著的影响查询任务实际的执行表现。尽管有一些支持并行查询预测的传统方法,他们主要面临两个问题。首先,传统方法主要通过统计查询任务执行过程中的逻辑指标(如页访问延迟等)来估计执行时间,不仅浪费较长的时间用于监控统计指标,而且忽略了资源/数据竞争(如读写冲突导致的访问锁机制)造成的执行时间差异。其次,一些方法基于数据库提供的查询计划进行表现预测,没有对目标任务和并行任务之间的潜在执行关系进行编码,导致在负载变化时预测精度变差。
因此,在预测并行执行的查询表现过程中,主要面临两个方面的挑战:
(1)如何对并行执行的查询任务进行建模。直观来说,为了预测执行时间等表现特征,需要对查询任务的执行过程中可能影响最终表现的因素进行建模,如物理层面的执行逻辑,物理算子的特性等。然而,现有方法,一方面不能有效的评估执行过程中并行任务可能造成的影响,如共享数据可能加速执行,抢占内存导致执行变慢等;另一方面,他们主要依赖执行计划、逻辑执行指标(如页访问延迟)等特征进行建模,难以对当前查询任务的执行进度进行有效的预测追踪。因此,对于提交到数据库的查询任务,一方面,要根据算子执行中可能存在的关联关系建立图模型;另一方面,需要根据执行进度更新图模型,更好的反映当前的执行进度。
(2)如何预测并行执行的查询任务的表现。前一个问题中,需要把并行查询的执行特征建模成图模型。然而,现有预测方法很难应用在图模型上。一方面,现有方法基于线性回归等算法,预测过程中将查询本身的特性和查询间的关系用相同的方式进行处理,没能区别算子特性和关联关系对执行表现的影响;另一方面,图模型中包含大量的结构特征,将图模型线性的分割成线性的特征序列会造成较大的信息丢失,导致预测结果不准确。因此,需要利用更加高效的图压缩算法,首先能够根据原始图模型捕获每个节点邻居子图的结构特征,其次将图的结构特征进行有效的压缩,映射到和表现特征强关联的抽象特征空间中。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于深度图压缩算法的并行查询表现预测系统,该系统可以较准确地预测数据库中并行查询的执行表现。
本发明的另一个目的在于提出一种基于深度图压缩算法的并行查询表现预测系统的创建方法。
本发明的再一个目的在于提出一种基于深度图压缩算法的并行查询表现预测系统的使用方法。
为达到上述目的,本发明一方面实施例提出了一种基于深度图压缩算法的并行查询表现预测系统,包括:查询预处理模块、在线预测模块和离线训练模块;
所述查询预处理模块,用于对并行查询信息进行提取,并更新负载图的节点和边特征,以及对负载图进行合并;
所述在线预测模块,用于利用模型计算出负载图上并行查询的执行特征;
所述离线训练模块,用于利用历史数据训练深度图压缩模型和深度学习模型以学习模型的参数。
为达到上述目的,本发明另一方面实施例提出了一种基于深度图压缩算法的并行查询表现预测系统的创建方法,包括以下步骤:
S101,定义查询表现、物理算子的执行指标,物理算子间的执行关系;
S102,基于给定的数据库系统实现查询预处理模块中的查询编码模块,图更新模块和图合并模块;
S103,建立深度图压缩模型,用于提取每个算子节点的自身特征和邻接子图结构信息,表示为节点的结构信息;
S104,建立深度学习模型,用于预测并行查询的执行时间表现特征;
S105,收集历史数据训练所述深度图压缩模型和所述深度学习模型;
S106,将训练后的所述深度图压缩模型和所述深度学习模型部署到系统中,通过所述系统并行查询表现预测。
为达到上述目的,本发明再一方面实施例提出了一种基于深度图压缩算法的并行查询表现预测系统的使用方法,包括以下步骤:
S201,获取多个并行查询语句组成的工作负载,利用查询编码模块抽取工作负载特征并更新到负载图模型中;
S202,利用部署的图更新模块删除已经完成的节点,更新正在执行的节点;
S203,利用部署的图合并模块将存在时间重叠且没有边关系的节点合并,得到合并后的负载图;
S204,利用部署的深度图压缩模型提取每个节点的算子特性和邻接子图特征,表示为节点的结构信息;
S205,利用部署的深度学习模型从历史数据中学习节点的结构信息到执行表现特征的映射函数;
S206,将预测结果展示给用户,并存储到数据库中。
本发明的有益效果为:
根据算子执行中可能存在的关联关系建立图模型,根据执行进度更新图模型,更好的反映当前的执行进度;
利用更加高效的图压缩算法,能够根据原始图模型捕获每个节点邻居子图的结构特征,将图的结构特征进行有效的压缩,映射到和表现特征强关联的抽象特征空间中。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的基于深度图压缩算法的并行查询表现预测系统结构示意图;
图2为根据本发明一个实施例的基于深度图压缩算法的并行查询表现预测系统的整体框架示意图;
图3为根据本发明一个实施例的负载图构建的实例图;
图4为根据本发明一个实施例的负载图的更新及合并算法的示意图;
图5为根据本发明一个实施例的深度图压缩模型的相关框架图;
图6为根据本发明一个实施例的基于深度图压缩算法的并行查询表现预测系统的创建方法流程图;
图7为根据本发明一个实施例的基于深度图压缩算法的并行查询表现预测系统的使用方法流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的基于深度图压缩算法的并行查询表现预测系统创建和使用方法。
图1为根据本发明一个实施例的基于深度图压缩算法的并行查询表现预测系统结构示意图。
查询表现是数据库中的专有术语,指的是查询语句在数据库中从作业提交到结果返回过程中的执行情况,如执行时间、CPU利用率等。
查询表现预测系统的功能是对于当前提交到数据库的查询语句,通过图模型并行预测查询语句的执行表现,从而为不同的数据库任务提供更准确的代价估计信息。
如图1所示,该基于深度图压缩算法的并行查询表现预测系统包括:查询预处理模块100、在线预测模块200和离线训练模块300。
查询预处理模块100,用于对并行查询信息进行提取,并更新负载图的节点和边特征,以及对负载图进行合并。
在线预测模块200,用于利用模型计算出负载图上并行查询的执行特征。
离线训练模块300,用于利用历史数据训练深度图压缩模型和深度学习模型以学习模型的参数。
在线预测模块和离线训练模块的核心是一个基于深度图压缩算法和深度神经网络的表现预测器。
如图2所示,查询预处理模块依次包含查询编码模块、图更新模块和图合并模块。
进一步地,查询编码模块的功能是从给定的并行查询中提取执行计划中的有用信息,使用的方法是先使用数据库优化器将原查询语句解析成执行计划树,再将计划树上的每个算子节点信息编码成特征向量。
如图3所示,查询编码模块从给定的并行查询中提取执行计划中的有用信息,并根据并行执行的算子关系构建负载图模型,用节点矩阵和边矩阵表示:(1)节点对应执行计划中的物理算子,包括优化器估计的执行代价,算子类型,谓词编码以及采样的结果特征(位图表示);(2)节点间的边信息对应算子之间可能的关联关系,包括数据传递关系、潜在的数据共享关系、潜在的访问冲突关系以及潜在的资源竞争关系。如图3中的例子所示,四个并行的查询语句首先被解析成执行计划,然后本发明从执行计划中提取物理算子的特征作为图节点,根据执行时间和算子特性在节点之间构建边,并初始化相应的权重。例如,v4和v5分别表示两个顺序扫描操作,它们之间存在资源竞争(有时间重叠)和数据共享(访问同一张关系表)两类关系。
在查询编码模型中,查询编码包括两类,一类是图上的算子节点信息,包括优化器估计的执行代价,算子类型,谓词编码以及采样的结果特征(位图表示);另一类是节点间的边信息,包括数据传递关系、潜在的数据共享关系、潜在的访问冲突关系以及潜在的资源竞争关系。
谓词编码指的是将查询中的条件转化成特征向量,利用的方法是将原子条件解析成三元组[列名,操作符,操作数],并表示成独热向量,再根据逻辑运算(如AND逻辑运算符,OR逻辑运算符)将树结构的复合谓词按照深度优先顺序转换成一维的特征序列。
进一步地,图更新模块的功能是用现有的查询信息更新负载图上的节点和边特征,使用的方法是先根据图上节点的结束时间更新或删除执行中或执行完毕的节点,然后添加新提交的算子节点和相应的边关系。
图更新模块根据现有的查询信息更新负载图上的节点和边特征。如图4所示,图更新模块先根据图上节点的结束时间更新或删除执行中或执行完毕的节点,然后添加新提交的算子节点和相应的边关系。主要有两种情况会触发负载图的更新:(1)累积执行完Top-K个节点。对于每个负载图,记录前K个最早执行完的节点,记作集合Φ,在它们全部执行完毕时,批量更新负载图,并更新集合Φ;(2)提交一个新查询。本发明首先提取新查询中的每个物理算子,然后把每个算子作为负载图中的一个节点,添加它和同时间段内其他节点之间的边关系,并更新集合Φ。
进一步地,图合并模块的功能是通过合并存在时间重叠的节点减小负载图的规模,使用的方法是先根据每个节点的执行时间范围将存在时间重叠的节点进行聚类,然后通过最少完全连接子图(clique)划分在各个类内将没有边关系的节点,将同一类内的节点合并为一个节点。
节点合并问题是一个最少完全连接子图的划分问题,即将负载图的补图划分成完全连接子图的集合,保证得到的子图(合并后的节点)数目最少。
图合并模块通过合并存在时间重叠的节点减小负载图的规模。如图4所示,图合并模块先根据每个节点的执行时间范围将存在时间重叠的节点进行聚类,然后通过最少完全连接子图(clique)划分在各个类内将没有边关系的节点,将这些节点压缩为一个合并节点。具体来说,第一步,根据时间重叠性质对负载图中的节点进行聚类,即相同类内任意一个节点都和至少一个节点存在时间重叠,不同类内任意两个节点都不存在时间重叠。为了实现聚类,首先根据开始时间对节点进行排序,然后选择第一个节点作为第一个类,依次遍历之后的节点vj。如果vj和最后一个类存在时间重叠,则将vj合并到该类,否则单独作为一个类(计算复杂度为O(|V|log(|V|)))。第二步,根据各个类内的边关系合并节点。对于任意一个类,把第一个节点作为合并节点,然后枚举其余节点。对于节点vk,如果vk和前面每一个合并节点都存在边关系,则单独作为一个合并节点,否则合并到已有的合并节点(计算复杂度为O(|V2|))。
进一步地,在线预测模块200进一步包括:图特征压缩模块和表现预测模块。
图特征压缩模块,用于将原始图解析成每个节点的特征集合,具体为利用深度图压缩模型针对每个节点的k跳内子图结构进行特征选择和压缩,通过前向传播将k跳子图结构信息映射到低维特征向量。
表现预测模块,用于根据每个节点的子图特征预测执行表现,具体为利用深度学习模型从历史数据中学习从节点的子图特征映射到执行表现的拟合函数。
如下表所示,为在线表现预测算法。
进一步地,深度图压缩模型指的是利用图卷积网络,提取每个节点上的k跳内邻居信息,利用图卷积技术将节点和邻居特征映射到表示执行性能的抽象空间中,学习的过程指的是根据每张负载图上部分的节点信息更新图网络的参数,以准确的压缩其余节点的执行特征。
设计深度图压缩模型目的是对原始负载图进行压缩,将原始负载图中的高维图结构化特征映射到与表现特性强相关的抽象特征空间中。如图5所示,深度图压缩网络通过堆叠图卷积层,首先提取每个节点上的k跳内邻居信息,表示为Di=|Ei T E:,i|Hl-1,其中i代表节点vi,Ei T表示节点vi的出度邻居节点,E:,i表示节点vi的入度邻居节点,Hl-1代表经过前(l-1)层图卷积得到的压缩矩阵。然后利用非线性整流层进一步压缩节点特征,表示为Hl=βl(D-1/2ED-1/2WlHl-1),其中β表示非线性整流层,E表示边矩阵,D表示节点的邻居矩阵,Wl表示第l层网络参数。我们利用训练偏差计算的损失值更新网络参数W,从而根据目标表现高效的学习压缩网络结构的方法。此外,发现节点的邻居矩阵维度较高(每一位对应一个二维的邻居矩阵),需要通过降低压缩后的矩阵H的维度来减小计算开销。因此,我们用利用切比雪夫的截断展开式对网络的权重矩阵W和邻居矩阵H进行近似,记作Wl 其中l代表前l层,θ′k代表第k层的权重,切比雪夫多项式Tk(V)被迭代的定义为Tk(V)=2Tk-1(V)-Tk-2(V),其中,To(x)=1,T1(x)=x。切比雪夫多项式Tk(V)已经被证明可以有效地降低前向传播中的矩阵维度,从而节约压缩时间。
如下表所示,为深度图压缩算法。
进一步地,深度学习模型指的是利用多层神经网络拟合函数,对于给定的输入产生相应的输出,学习的过程指的是用已有的历史数据训练多层神经网络以确定网络的参数。因此,对于给定新的输入,可以利用训练好参数的神经网络产生输出。
设计深度学习模型目的是根据每个节点的子图特征预测执行表现。如图5所示,图预测网络是一个三层的感知器模型,利用图压缩网络输出的图压缩矩阵H自动推导每个算子节点对应的表现特征。本发明的图预测网络包括输入层,隐藏层和输出层三部分。首先,输入层将图压缩矩阵H映射到方便处理的特征空间H’(特征放大);其次,隐藏层对H’进行特征抽取并输出一个抽象矩阵H”;最后输出层在抽象矩阵H”上进行表现预测并输出结果矩阵PQ,每一行表示相应算子的预测的表现特征,如执行时间,CPU利用率,占用内存大小等。
离线训练模块300用于利用历史数据训练深度图压缩模型和深度学习模型以学习模型的参数。其中,利用历史数据训练模型,其需要训练的模型主要是上面所述的深度图压缩模型和深度学习模型。将训练数据集记作<Q,Pm,Pc,PQ>,其中,Q是并行查询语句的集合,Pm是控制内存和I/O分配的参数集合,Pc是控制并发的参数集合,PQ是Q中每条查询的实际表现特征。以标准测试集JOB为例,通过自动组合不同取值的{关系表,连接顺序,条件,聚类操作,使用的列},从113条SQL模板中生成20187条SQL语句,以100以内的并发度划分成不同的负载,如并发度为53的负载包含53条SQL语句。我们将这些负载样本按照8:1:1划分成训练集、测试集和验证集。对于每个训练集中的负载,首先从执行计划中抽取所有物理算子,用图压缩/预测模型估计每个节点的执行表现,再根据根节点表现推导出每条SQL语句的执行表现。根据这些算子的估计误差,用损失梯度更新两个网络中参数。当模型在一个负载图上收敛或者达到最大训练轮数后,在验证集上测试模型的表现。如果效果达到期望值,则继续在下一个负载图上进行训练或结束训练(根据测试集给出最终表现);否则,在本负载图上重新训练。
为了提高计算损失梯度的精度,并更好的反映预测值和真实值之间的偏差,本发明对损失函数进行了设计。总体上,损失函数可以写作Ltotal=Lo+yLreg,L0是在有标签节点上计算的损失值,Lreg是在无标签节点上计算的损失值。首先,我们在有标签节点上用均方误差(MSE)计算损失值,记作B是在负载图上有标签的节点个数,f(Vi)是图压缩/预测模型根据节点的邻居图结构预测的表现值,yi是真实的表现值。其次,我们用拉普拉斯正则项近似无标签节点上的损失值,记作Lreg=∑i,jEi,j|f(Vi)-f(Vj)|,Ei,j是任意两个节点vi和vj之间的权重值。我们假设相邻节点可能有相似的执行表现。因此,我们用Lreg最小化相邻节点的预测值之间的L1距离误差。换句话说,如果两个点之间的边权重越大,他们应该有越相近的由于并发因素导致的表现差异。我们利用Lreg项降低异常点出现的概率,从而提高模型的预测精度。
本发明实施例的基于深度图压缩算法的并行查询表现预测系统,针对并行场景下的多种类型负载(如联机分析查询,联机事务查询),预测并行执行的查询表现(如执行时间)在多类数据库任务中都能发挥重要作用(如在负载调度中,预测不同查询组合的资源利用情况)。首先利用负载图表示并行查询中丰富的执行算子代价信息(节点层次)和执行算子之间的关联关系(边层次);其次,基于一种新型的深度图压缩算法,将高维负载图映射到与查询表现相关的低维向量中;利用深度学习从低维向量中学习并行负载的表现特征(如执行时间);最后,针对大规模动态负载,提出一种图更新和合并算法,裁剪负载图中冗余或存在时间重叠的算子节点,提供快速的动态负载预测。
图6为根据本发明一个实施例的基于深度图压缩算法的并行查询表现预测系统的创建方法流程图。
如图6所示,基于深度图压缩算法的并行查询表现预测系统的创建方法,包括以下步骤:
S101,定义查询表现、物理算子的执行指标,物理算子间的执行关系。
首先定义相关概念,比如查询表现,物理算子的执行指标,物理算子间的执行关系。
S102,基于给定的数据库系统实现查询预处理模块中的查询编码模块,图更新模块和图合并模块。
S103,建立深度图压缩模型,用于提取每个算子节点的自身特征和邻接子图结构信息,表示为节点的结构信息。
S104,建立深度学习模型,用于预测并行查询的执行时间表现特征。
S105,收集历史数据训练深度图压缩模型和深度学习模型。
S106,将训练后的深度图压缩模型和深度学习模型部署到系统中,通过系统并行查询表现预测。
通过上述方法可以创建一个基于深度图压缩算法的并行查询表现预测系统。
图7为根据本发明一个实施例的基于深度图压缩算法的并行查询表现预测系统的使用方法流程图。
如图7所示,基于深度图压缩算法的并行查询表现预测系统的使用方法,包括以下步骤:
S201,获取多个并行查询语句组成的工作负载,利用查询编码模块抽取工作负载特征并更新到负载图模型中。
具体地,接受一批并行查询语句组成的工作负载,利用查询编码模块抽取工作负载特征并更新到负载图模型中。
S202,利用部署的图更新模块删除已经完成的节点,更新正在执行的节点。
S203,利用部署的图合并模块将存在时间重叠且没有边关系的节点合并,得到合并后的负载图。
S204,利用部署的深度图压缩模型提取每个节点的算子特性和邻接子图特征,表示为节点的结构信息。
S205,利用部署的深度学习模型从历史数据中学习节点的结构信息到执行表现特征的映射函数。
S206,将预测结果展示给用户,并存储到数据库中。
通过上述过程系统可以自动生成物化视图。
需要说明的是,前述对系统实施例的解释说明也适用于该实施例的方法,此处不再赘述。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (8)
1.一种基于深度图压缩算法的并行查询表现预测系统,其特征在于,包括:查询预处理模块、在线预测模块和离线训练模块;
所述查询预处理模块,用于对并行查询信息进行提取,并更新负载图的节点和边特征,以及对负载图进行合并;
所述在线预测模块,用于利用模型计算出负载图上并行查询的执行特征;
所述离线训练模块,用于利用历史数据训练深度图压缩模型和深度学习模型以学习模型的参数;
所述查询预处理模块进一步包括:查询编码模块、图更新模块和图合并模块;
所述查询编码模块,用于从给定的并行查询信息中提取执行计划中的有用信息;具体为使用数据库优化器将原查询语句解析成执行计划树,将所述执行计划树上的每个算子节点信息编码成特征向量;
所述图更新模块,用于使用当前的查询信息更新负载图上的节点和边特征;具体为根据先负载图上节点的结束时间更新或删除执行中或执行完毕的节点,然后添加新提交的算子节点和相应的边关系;
所述图合并模块,用于通过合并存在时间重叠的节点以减小负载图的规模,具体为先根据每个节点的执行时间范围将存在时间重叠的节点进行聚类,再通过最少完全连接子图划分,在各个类内将没有边关系的节点合并为一个节点。
2.根据权利要求1所述的基于深度图压缩算法的并行查询表现预测系统,其特征在于,所述在线预测模块和所述离线训练模块为基于深度图压缩算法和深度神经网络的表现预测器。
3.根据权利要求1所述的基于深度图压缩算法的并行查询表现预测系统,其特征在于,所述在线预测模块进一步包括:图特征压缩模块和表现预测模块;
所述图特征压缩模块,用于将原始图解析成每个节点的特征集合,具体为利用深度图压缩模型针对每个节点的k跳内子图结构进行特征选择和压缩,通过前向传播将k跳子图结构信息映射到低维特征向量;
所述表现预测模块,用于根据每个节点的子图特征预测执行表现,具体为利用深度学习模型从历史数据中学习从节点的子图特征映射到执行表现的拟合函数。
4.根据权利要求1所述的基于深度图压缩算法的并行查询表现预测系统,其特征在于,
所述深度图压缩模型指的是利用图卷积网络,提取每个节点上的k跳内邻居信息,利用图卷积技术将节点和邻居特征映射到表示执行性能的抽象空间中,学习的过程指的是根据每张负载图上部分的节点信息更新图网络的参数,以准确的压缩其余节点的执行特征;
所述深度学习模型指的是利用多层神经网络拟合函数,对于给定的输入产生相应的输出,学习的过程指的是用已有的历史数据训练多层神经网络以确定网络的参数。
5.根据权利要求1所述的基于深度图压缩算法的并行查询表现预测系统,其特征在于,在所述查询编码模块中,查询编码包括两类,一类是图上的算子节点信息,包括优化器估计的执行代价,算子类型,谓词编码以及采样的结果特征;另一类是节点间的边信息,包括数据传递关系、潜在的数据共享关系、潜在的访问冲突关系以及潜在的资源竞争关系。
6.根据权利要求5所述的基于深度图压缩算法的并行查询表现预测系统,其特征在于,所述谓词编码指的是将查询中的条件转化成特征向量,利用的方法是将原子条件解析成三元组[列名,操作符,操作数],并表示成独热向量,再根据逻辑运算将树结构的复合谓词按照深度优先顺序转换成一维的特征序列。
7.一种基于深度图压缩算法的并行查询表现预测系统的创建方法,其特征在于,包括以下步骤:
S101,定义查询表现、物理算子的执行指标,物理算子间的执行关系;
S102,基于给定的数据库系统实现查询预处理模块中的查询编码模块,图更新模块和图合并模块;
S103,建立深度图压缩模型,用于提取每个算子节点的自身特征和邻接子图结构信息,表示为节点的结构信息;
S104,建立深度学习模型,用于预测并行查询的执行时间表现特征;
S105,收集历史数据训练所述深度图压缩模型和所述深度学习模型;
S106,将训练后的所述深度图压缩模型和所述深度学习模型部署到系统中,通过所述系统并行查询表现预测。
8.一种基于深度图压缩算法的并行查询表现预测系统的使用方法,其特征在于,包括以下步骤:
S201,获取多个并行查询语句组成的工作负载,利用查询编码模块抽取工作负载特征并更新到负载图模型中;
S202,利用部署的图更新模块删除已经完成的节点,更新正在执行的节点;
S203,利用部署的图合并模块将存在时间重叠且没有边关系的节点合并,得到合并后的负载图;
S204,利用部署的深度图压缩模型提取每个节点的算子特性和邻接子图特征,表示为节点的结构信息;
S205,利用部署的深度学习模型从历史数据中学习节点的结构信息到执行表现特征的映射函数;
S206,将预测结果展示给用户,并存储到数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010342856.2A CN111581454B (zh) | 2020-04-27 | 2020-04-27 | 基于深度图压缩算法的并行查询表现预测系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010342856.2A CN111581454B (zh) | 2020-04-27 | 2020-04-27 | 基于深度图压缩算法的并行查询表现预测系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581454A CN111581454A (zh) | 2020-08-25 |
CN111581454B true CN111581454B (zh) | 2023-05-23 |
Family
ID=72113126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010342856.2A Active CN111581454B (zh) | 2020-04-27 | 2020-04-27 | 基于深度图压缩算法的并行查询表现预测系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581454B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084037A (zh) * | 2020-09-23 | 2020-12-15 | 安徽寒武纪信息科技有限公司 | 神经网络的内存分配方法及装置 |
CN112286953B (zh) * | 2020-09-25 | 2023-02-24 | 北京邮电大学 | 多维数据查询方法、装置和电子设备 |
CN112328578B (zh) * | 2020-11-26 | 2023-03-28 | 电子科技大学 | 一种基于强化学习和图注意力网络的数据库查询优化方法 |
CN112749191A (zh) * | 2021-01-19 | 2021-05-04 | 成都信息工程大学 | 一种应用于数据库的智能代价估计方法、系统及电子设备 |
CN113010547B (zh) * | 2021-05-06 | 2023-04-07 | 电子科技大学 | 一种基于图神经网络的数据库查询优化方法及系统 |
CN113515540A (zh) * | 2021-06-09 | 2021-10-19 | 清华大学 | 一种数据库的查询重写方法 |
CN117472942A (zh) * | 2022-07-18 | 2024-01-30 | 中兴通讯股份有限公司 | 代价估计方法、电子设备、存储介质和计算机程序产品 |
CN115757464B (zh) * | 2022-11-18 | 2023-07-25 | 中国科学院软件研究所 | 一种基于深度强化学习的智能物化视图查询方法 |
CN116089248B (zh) * | 2023-04-07 | 2023-06-02 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种写i/o突发分布预测方法、装置、设备及存储介质 |
CN116795850B (zh) * | 2023-05-31 | 2024-04-12 | 山东大学 | 一种联盟链海量事务并发执行方法、装置及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015038152A1 (en) * | 2013-09-14 | 2015-03-19 | Hewlett-Packard Development Company, L.P. | Predicting execution times of concurrent queries |
US11061902B2 (en) * | 2018-10-18 | 2021-07-13 | Oracle International Corporation | Automated configuration parameter tuning for database performance |
CN109597844B (zh) * | 2019-01-31 | 2020-12-22 | 中科人工智能创新技术研究院(青岛)有限公司 | 基于深度神经网络与图网络的核心用户挖掘方法及系统 |
CN110597876B (zh) * | 2019-08-30 | 2023-03-24 | 南开大学 | 一种基于离线学习历史查询预测未来查询的近似查询方法 |
-
2020
- 2020-04-27 CN CN202010342856.2A patent/CN111581454B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111581454A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581454B (zh) | 基于深度图压缩算法的并行查询表现预测系统及方法 | |
Zhou et al. | Query performance prediction for concurrent queries using graph embedding | |
CN113010547B (zh) | 一种基于图神经网络的数据库查询优化方法及系统 | |
CN112328578B (zh) | 一种基于强化学习和图注意力网络的数据库查询优化方法 | |
Li et al. | Rolling window time series prediction using MapReduce | |
JP7432801B2 (ja) | デプスマップマッチングに基づく医療データエレメント自動化分類方法及びシステム | |
CN112187554B (zh) | 一种基于蒙特卡洛树搜索的运维系统故障定位方法和系统 | |
CN111627552A (zh) | 一种医疗流式数据血缘关系分析、存储方法及装置 | |
US9406027B2 (en) | Making predictions regarding evaluation of functions for a database environment | |
Kalifullah et al. | Retracted: Graph‐based content matching for web of things through heuristic boost algorithm | |
US20160125095A1 (en) | Lightweight temporal graph management engine | |
CN116561173B (zh) | 用关系图注意力神经网络选择查询执行计划的方法及系统 | |
AU2021285952A1 (en) | Streamlining data processing optimizations for machine learning workloads | |
CN115329011A (zh) | 数据模型的构建方法、数据查询的方法、装置及存储介质 | |
CN117455037A (zh) | 一种基于多模态案例知识图的生产业务流程剩余时间预测方法 | |
Jin et al. | Financial management and decision based on decision tree algorithm | |
CN115577872B (zh) | 基于多能智能体深度强化学习的结构化数据预测优化方法 | |
CN116861373A (zh) | 一种查询选择率估算方法、系统、终端设备及存储介质 | |
Shi et al. | Human resources balanced allocation method based on deep learning algorithm | |
Park et al. | BlinkML: Approximate machine learning with probabilistic guarantees | |
CN113704565B (zh) | 基于全局区间误差的学习型时空索引方法、装置及介质 | |
Gueddoudj et al. | Towards a scalable and efficient etl | |
Yang et al. | Probabilistic modeling of renewable energy source based on Spark platform with large‐scale sample data | |
Li et al. | dbET: Execution Time Distribution-based Plan Selection | |
Gupta et al. | Processing analytical workloads incrementally |
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 |