CN110888859B - 一种基于组合深度神经网络的连接基数估计方法 - Google Patents

一种基于组合深度神经网络的连接基数估计方法 Download PDF

Info

Publication number
CN110888859B
CN110888859B CN201911059922.9A CN201911059922A CN110888859B CN 110888859 B CN110888859 B CN 110888859B CN 201911059922 A CN201911059922 A CN 201911059922A CN 110888859 B CN110888859 B CN 110888859B
Authority
CN
China
Prior art keywords
connection
information
sample
net
selection
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
Application number
CN201911059922.9A
Other languages
English (en)
Other versions
CN110888859A (zh
Inventor
陈岭
黄河清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201911059922.9A priority Critical patent/CN110888859B/zh
Publication of CN110888859A publication Critical patent/CN110888859A/zh
Application granted granted Critical
Publication of CN110888859B publication Critical patent/CN110888859B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于组合深度神经网络的连接基数估计方法,具体包括:1)提取查询执行日志中各查询的查询计划和连接基数真值,根据查询计划,提取选择操作和连接操作涉及的语义信息、结构信息和数据分布信息,并构建训练数据集;2)构建处理选择操作的选择模型、处理连接操作的连接模型和将特征表示映射为连接基数估计值的连接基数输出模型;3)根据查询计划,通过组合选择模型、连接模型和连接基数输出模型估计给定查询的连接基数。本发明利用深度学习,结合查询相关的丰富信息,能够更加准确地对查询的连接基数进行估计,在查询优化、数据库管理等领域具有广阔的应用前景。

Description

一种基于组合深度神经网络的连接基数估计方法
技术领域
本发明涉及连接基数估计领域,具体涉及一种基于组合深度神经网络的连接基数估计方法。
背景技术
连接基数估计是数据库领域一个基础但充满挑战的研究问题。查询计划中的连接操作以两张表或中间结果为输入,根据连接谓词处理得到返回的结果。连接基数表示连接操作返回结果的行数,连接基数估计根据连接谓词及数据分布信息对其进行估计。基于代价的查询优化器为从候选查询计划中选择最优的查询计划,需要依赖于基数估计对其执行代价进行估计。跨连接相关性,即连接中不同表的属性之间存在相关性,是连接基数估计的最大难点,在实际场景中,数据并不满足独立、均匀和包含原则等简化假设,跨连接相关性大量存在且难以事先获取。
基于概要的连接基数估计方法采用精简的概要表示原始数据分布,使用公式或算法推算,进而对连接基数进行估计。但是,该类方法的效果与消耗的资源正相关,不能以较低的代价得到较好的估计效果。
基于传统机器学习的连接基数估计方法通过传统机器学习模型对连接基数与相关影响因素之间的相关性进行建模,能够学习到单表属性相关性以及跨连接相关性,在估计与训练数据相似的查询时能够得到较好的结果,但是,该类方法都通过人工定义和提取查询特征,存在一定的信息丢失。
基于深度学习的连接基数估计方法通过深度神经网络自动构建连接基数相关影响因素的特征,避免人工特征定义和提取带来的信息丢失,能够学习到单表属性相关性以及跨连接相关性,但是,现有方法没有充分考虑查询计划的结构,并且连接相关的信息不足,导致连接数量增加时,效果显著退化。
发明内容
本发明要解决的技术问题是如何利用深度神经网络提高连接基数估计的准确性。
为解决上述技术问题,本发明提供了一种基于组合深度神经网络的连接基数估计方法,包括以下步骤:
操作信息提取,从查询执行日志中提取查询计划,对查询计划进行解析,获得选择操作和连接操作涉及的语义信息、结构信息和数据分布信息,以此构建训练样本集;
模型构建,构建由全连接层和激活函数组成的选择模型、连接模型以及连接基数输出模型,并利用训练样本对选择模型、连接模型以及连接基数输出模型进行训练,获得训练好的选择模型、连接模型以及连接基数输出模型;
连接基数估计,提取待估计的查询计划中所有选择操作和连接操作涉及的语义信息、结构信息和数据分布信息并输入至训练好的选择模型、连接模型以及连接基数输出模型进行估计,输出连接基数估计值。
本发明利用深度神经网络,结合查询相关的丰富信息,能够更加准确地对查询的连接基数进行估计。与现有方法相比,其优点在于:
1)为查询操作构建深度神经网络模型,支持根据查询计划的结构对模型进行组合,并充分考虑了各操作涉及的语义信息、结构信息和数据分布信息。
2)根据以连接操作为根节点的查询计划进行样本连接和结果聚合,以获取样本连接结果信息,能够有效处理跨连接相关性,进而提高方法的估计准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
图1是本发明基于组合深度神经网络的连接基数估计方法的总体流程图;
图2是本发明操作信息提取部分的流程图;
图3是本发明模型构建部分的流程图;
图4是本发明选择模型的网络结构示意图;
图5是本发明连接模型的网络结构示意图;
图6是本发明连接基数输出模型的网络结构示意图;
图7是本发明连接基数估计部分的流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
如图1~7所示,实施例提供的基于组合深度神经网络的连接基数估计方法包括操作信息提取、模型构建和连接基数估计三个部分,下面针对每个部分进行详细说明。
操作信息提取部分
操作信息提取部分主要提取查询计划中的选择操作与连接操作的相关信息,以构建训练数据集,如图2所示,具体包括以下步骤:
S101,提取查询执行日志,得到各查询的查询计划和连接基数真值card。
在此步骤中,提取查询执行日志,得到历史执行的各查询的查询计划和查询结果的连接基数真值card。
S102,对数据库中的每张连接表分别离线采样n个随机样本并存储。
S103,对查询计划进行解析,提取查询计划中所有选择操作涉及的表信息vtid、选择谓词信息Vspred和样本选择结果信息vsample,该表信息vtid、选择谓词信息Vspred和样本选择结果信息vsample组成选择操作涉及的语义信息、结构信息和数据分布信息;
具体地,对每一条查询对应的查询计划,从根节点开始自顶向下进行解析,若节点为选择操作,则提取该选择操作涉及的表信息vtid、选择谓词信息Vspred和样本选择结果信息vsample,其中,选择谓词信息Vspred包括属性信息
Figure BDA0002257639310000041
运算符信息
Figure BDA0002257639310000042
操作数信息
Figure BDA0002257639310000043
和属性直方图信息
Figure BDA0002257639310000044
表信息vtid是独热编码的特征向量,记数据库中所有表的集合T={t1,t2,…,tg},则表信息vtid的维度为g。若选择操作所涉及的表为ti,则vtid的第i位为1,其余位置为0。
选择谓词信息Vspred是特征向量的集合,表示选择操作在一张表上的所有选择谓词特征。一个形如(col,op,val)的选择谓词,包含了属性名、运算符、操作数和属性直方图。本发明一并处理选择操作在一张表上的所有p个选择谓词,其中,第i个选择谓词包含的信息如下:
属性信息
Figure BDA0002257639310000051
是独热编码的特征向量,该特征向量以所有表中非主键数值类型属性的数量为维度,选择谓词所涉及的属性对应位置为1,其余位置为0。
运算符信息
Figure BDA0002257639310000052
是独热编码的特征向量,该特征向量以运算符数量为维度,选择谓词的运算符对应位置为1,其余位置为0。
操作数信息
Figure BDA0002257639310000053
是一个归一化的值,使用直方图对操作数vali进行归一化得到,计算公式如下:
Figure BDA0002257639310000054
其中,b表示直方图的桶数,k表示直方图中第一个最大值大于操作数vali的桶的序号,maxk和mink分别表示直方图第k个桶的最大值和最小值,max表示属性的最大值。
属性直方图信息
Figure BDA0002257639310000055
是归一化的直方图边界值特征向量,对于包含b个桶的等频直方图,以一个(b+1)维向量记录由属性最大值和最小值进行归一化后的边界值。
将属性信息
Figure BDA0002257639310000056
运算符信息
Figure BDA0002257639310000057
操作数信息
Figure BDA0002257639310000058
和属性直方图信息
Figure BDA0002257639310000059
串接,得到选择谓词信息
Figure BDA00022576393100000510
然后得到选择谓词信息Vspred
Figure BDA00022576393100000511
样本选择结果信息vsample是一个n维的特征向量。对于S102中离线采样得到的n个随机样本,用选择操作在该表上的所有选择谓词判断每一个样本,若样本通过所有选择谓词,则为1,反之为0。
选择操作可能有多个对某张表的选择谓词(例如,where t.a>1 and t.b<10),用所有对某张表的选择谓词判断样本(例如,sekect*from tsample where tsample.a>1 andtsample.b<10)。
S104,对查询计划进行解析,提取查询计划中所有连接操作涉及的连接谓词信息vjid和历史连接谓词信息vhjid
在此步骤中,对每一条查询对应的查询计划,从根节点开始自顶向下进行解析,若节点为连接操作,则提取其涉及的连接谓词信息vjid、历史连接谓词信息vhjid
连接谓词信息vjid是独热编码的特征向量,记所有查询包含的所有连接谓词的集合J={j1,j2,…,jm},则vjid的维度为m。若连接操作的连接谓词为ji,则vjid的第i位为1,其余位置为0。
历史连接谓词信息vhjid是以连接谓词对应的连接操作为根节点的查询计划中,除该连接操作以外所有其余连接操作的连接谓词信息的按位或。
S105,利用S102中采集的样本获取查询计划中所有连接操作涉及的样本连接结果信息vlsample和vrsample
在此步骤中,利用离线采样得到的n个随机样本获取查询计划中所有连接操作的样本连接结果信息vlsample和vrsample
样本连接结果信息vlsample和vrsample是2个n维特征向量,分别根据连接谓词左右表得到,其中样本为得到样本选择结果信息时存储的n个随机样本。对于连接表tleft和连接表tright的连接谓词ji,根据以该连接谓词ji对应的连接操作为根节点的查询计划进行样本连接和结果聚合,获得样本连接结果信息。样本连接结果信息vlsample的获取过程为:
首先,遍历以连接谓词对应的连接操作为根节点的查询计划,得到涉及连接表tleft的所有连接谓词集合SJ;对于SJ中的每一个连接表tleft和表jt的连接谓词sj,用连接表tleft的样本
Figure BDA0002257639310000071
根据连接谓词sj连接表jt,得到连接谓词sj根据连接表tleft的基础样本连接结果信息br=[br1,br2,…,brk,…,brn],brk表示在表jt中根据连接谓词sj能够成功与表tleft的样本
Figure BDA0002257639310000072
连接的元组数;
然后,对基础样本连接结果信息br和样本选择结果信息进行结果聚合,若|SJ|=1,将基础样本连接结果信息br与表tleft的样本选择结果信息按位乘,作为连接谓词ji的左样本连接结果信息
Figure BDA0002257639310000073
若|SJ|>1,将多个基础样本连接结果信息br按位乘,再与表tleft的样本选择结果信息按位乘,作为连接谓词ji的左样本连接结果信息
Figure BDA0002257639310000074
组成样本连接结果信息vlsample
同样,根据表tright得到连接谓词ji的右样本连接结果信息
Figure BDA0002257639310000075
样本连接结果信息vrsample的获取过程为:
首先,遍历以连接谓词对应的连接操作为根节点的查询计划,得到涉及连接表tright的所有连接谓词集合SJ;对于SJ中的每一个连接表tright和表jt的连接谓词sj,用连接表tright的样本
Figure BDA0002257639310000076
根据连接谓词sj连接表jt,得到连接谓词sj根据连接表tright的基础样本连接结果信息br=[br1,br2,…,brk,…,brn],brk表示在表jt中根据连接谓词sj能够成功与表tright的样本
Figure BDA0002257639310000077
连接的元组数;
然后,对基础样本连接结果信息br和样本选择结果信息进行结果聚合,若|SJ|=1,将基础样本连接结果信息br与表tright的样本选择结果信息按位乘,作为连接谓词ji的右样本连接结果信息
Figure BDA0002257639310000078
若|SJ|>1,将多个基础样本连接结果信息br按位乘,再与表tright的样本选择结果信息按位乘,作为连接谓词ji的右样本连接结果信息
Figure BDA0002257639310000079
组成样本连接结果信息vrsample
连接操作涉及的连接谓词信息vjid、历史连接谓词信息vhjid以及样本连接结果信息vlsample和vrsample组成连接操作涉及的语义信息、结构信息和数据分布信息。
S106,将每个查询计划中所有选择操作涉及的表信息vtid、选择谓词信息Vspred和样本选择结果信息vsample和连接操作涉及的连接谓词信息vjid、历史连接谓词信息vhjid以及样本连接结果信息vlsample和vrsample作为一个训练样本,构建训练数据集。
模型构建部分
模型构建部分主要是构建选择模型、连接模型以及连接基数输出模型,具体过程如下:
S201,构建由全连接层和激活函数组成的选择模型,并利用选择模型处理选择操作涉及的表信息vtid、选择谓词信息Vspred和样本选择结果信息vsample经过选择模型处理得到选择操作特征表示zsel
如图4所示,选择模型包含5个全连接层,分别记为nettid、netsample、netspred、netspsum和nettout,相连2个全连接层之间通过激活函数完成数据的映射,其中nettid和netsample分别处理表信息vtid和样本选择结果信息vsample,netspred和netspsum组成Deep Sets模块,处理选择谓词信息Vspred,得到的3个特征表示进行串接后输入给nettout得到选择操作特征表示。
每一个特征向量
Figure BDA0002257639310000081
由netspred处理得到的特征表示相加后经过netspsum处理得到选择谓词信息Vspred的特征表示zspred,计算公式如下:
Figure BDA0002257639310000082
其中Wspred和Wspsum分别表示netspred和netspsum的权重矩阵,bspred和bspsum分别表示netspred和netspsum的偏置项,σ表示非线性激活函数,本发明使用ReLU激活函数。
表信息的特征表示和样本选择结果信息的特征表示ztid和zsample分别由vtid和vsample经过nettid和netsample处理得到。将ztid、zspred和zsample串接后输入给nettout处理得到选择操作特征表示zsel,计算公式如下:
Figure BDA0002257639310000091
其中W表示nettout的权重矩阵,b表示nettout的偏置项,σ表示非线性激活函数,本发明使用ReLU激活函数,
Figure BDA0002257639310000092
表示串接操作。
S202,构建由全连接层和激活函数组成的连接模型,并利用连接模型处理连接操作涉及的连接谓词信息vjid、历史连接谓词信息vhjid、样本连接结果信息vlsample和vrsample以及连接操作左右子节点对应模型输出的子节点信息zlchild和zrchild经过连接模型处理得到连接操作特征表示zjoin
如图5所示,连接模型包含6个全连接层,分别记为netjid、netlsample、netrsample、netlc、netrc和netjout,相连2个全连接层之间通过激活函数完成数据的映射,其中netjid处理连接谓词信息vjid和历史连接谓词信息vhjid,netlsample和netrsample分别处理样本连接结果信息vlsample和vrsample,netlc和netrc分别处理左右子节点对应的选择模型或连接模型所输出的子节点信息zlchild和zrchild,得到的5个特征表示进行串接后输入给netjout得到连接操作特征表示。
连接谓词信息和历史连接谓词信息的特征表示zjid由vjid和vhjid串接后经过netjid处理得到;样本连接结果信息的特征表示zlsample和zrsample分别由vlsample和vrsample经过netlsample和netrsample处理得到;子节点信息的特征表示zlc和zrc分别由zlchild和zrchild经过netlc、netrc处理得到。将zjid、zlsample、zrsample、zlc和zrc串接后输入给netjout处理得到连接操作特征表示zjoin,计算公式如下:
Figure BDA0002257639310000101
其中W表示netjout的权重矩阵,b表示netjout的偏置项,σ表示非线性激活函数,本发明使用ReLU激活函数,
Figure BDA0002257639310000102
表示串接操作。
S203,构建由全连接层和激活函数组成的连接基数输出模型,并利用连接基数输出模型处理查询计划根节点连接操作对应连接模型的输出,得到连接基数估计值
Figure BDA0002257639310000103
如图6所示,连接基数输出模型包含2个全连接层,相连2个全连接层之间通过激活函数完成数据的映射,最终由sigmoid激活函数输出一个(0,1)之间的标量wout,表示归一化的连接基数估计值
Figure BDA0002257639310000104
其反归一化公式如下:
Figure BDA0002257639310000105
其中,e表示以自然常数为底的指数函数,max和min分别表示所有查询中连接基数真值的最大值和最小值。
S204,对于训练样本集中的每一个训练样本,根据查询计划,组合选择模型、连接模型和连接基数输出模型,利用样本中操作涉及的信息和组合的模型计算得到查询的连接基数估计值,然后结合连接基数真值计算得到两者的偏差q-error;利用训练样本集中的所有训练样本来训练选择模型、连接模型和连接基数输出模型,通过最小化平均q-error的目标来调整网络参数。
在此步骤中,q-error为接基数输出模型输出的连接基数估计值和连接基数真值之间的偏差,本发明采用q-error度量连接基数真值card和连接基数估计值
Figure BDA0002257639310000106
之间的偏差,记为eq-error,计算公式如下:
Figure BDA0002257639310000107
其中,card表示连接基数真值,
Figure BDA0002257639310000108
表示连接基数估计值。
损失函数为平均q-error,记为Lossmean q-error,计算公式如下:
Figure BDA0002257639310000111
其中,Q表示所有查询的集合,card表示连接基数真值,
Figure BDA0002257639310000112
表示连接基数估计值。
在训练前,将训练数据集按照固定的批量大小M进行分批,批次总数为N,具体计算公式为:
Figure BDA0002257639310000113
其中,Nall为训练数据集中样本总数。
如图3所示,从训练数据集中顺序选取索引为i的一批训练样本,再从这批训练样本中顺序选取索引为k的一个训练样本。根据该训练样本的查询计划,组合选择模型、连接模型和连接基数输出模型,除根节点以外的所有选择操作和连接操作对应模型的输出作为其后继连接操作对应连接模型的输入,根节点连接操作对应连接模型的输出作为连接基数输出模型的输入。利用组合的模型得到该训练样本的连接基数估计值,结合其真值得到q-error,进而得到一批训练样本的平均q-error并对选择模型、连接模型和连接基数输出模型的网络参数进行调整。
按照上述方式对选择模型、连接模型和连接基数输出模型进行训练,直至训练数据集的所有批次都参与训练,且达到指定的训练迭代次数,训练结束,得到优化的选择模型、连接模型和连接基数输出模型。
连接基数估计部分
连接基数估计部分主要是利用训练好的择模型、连接模型和连接基数输出模型估计连接基数。如图7所示,具体过程如下:
S301,给定需要估计连接基数的查询及其查询计划,通过操作信息提取部分获取查询计划中所有选择操作和连接操作涉及的语义信息、结构信息和数据分布信息。
S302,根据查询计划,组合训练好的选择模型、连接模型和连接基数输出模型。
S303,将S301提取的信息输入至S302组合的模型中,计算得到查询的连接基数估计值。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于组合深度神经网络的连接基数估计方法,包括以下步骤:
操作信息提取,从查询执行日志中提取查询计划,对查询计划进行解析,获得选择操作和连接操作涉及的语义信息、结构信息和数据分布信息,以此构建训练样本集;
模型构建,构建由全连接层和激活函数组成的选择模型、连接模型以及连接基数输出模型,并利用训练样本对选择模型、连接模型以及连接基数输出模型进行训练,获得训练好的选择模型、连接模型以及连接基数输出模型;
连接基数估计,提取待估计的查询计划中所有选择操作和连接操作涉及的语义信息、结构信息和数据分布信息并输入至训练好的选择模型、连接模型以及连接基数输出模型进行估计,输出连接基数估计值;
其中,模型构建包括以下步骤:
S201,构建由全连接层和激活函数组成的选择模型,并利用选择模型处理选择操作涉及的表信息vtid、选择谓词信息Vspred和样本选择结果信息vsample经过选择模型处理得到选择操作特征表示zsel
S202,构建由全连接层和激活函数组成的连接模型,并利用连接模型处理连接操作涉及的连接谓词信息vjid、历史连接谓词信息vhjid、样本连接结果信息vlsample和vrsample以及连接操作左右子节点对应模型输出的子节点信息zlchild和zrchild经过连接模型处理得到连接操作特征表示zjoin
S203,构建由全连接层和激活函数组成的连接基数输出模型,并利用连接基数输出模型处理查询计划根节点连接操作对应连接模型的输出,得到连接基数估计值
Figure FDA0003457526110000011
S204,利用训练样本集中的所有训练样本来训练选择模型、连接模型和连接基数输出模型,通过最小化平均q-error的目标来调整网络参数,其中,q-error为接基数输出模型输出的连接基数估计值和连接基数真值之间的偏差。
2.如权利要求1所述的基于组合深度神经网络的连接基数估计方法,其特征在于,所述操作信息提取的过程为:
S101,提取查询执行日志,得到各查询的查询计划和连接基数真值card;
S102,对数据库中的每张连接表分别离线采样n个随机样本并存储;
S103,对查询计划进行解析,提取查询计划中所有选择操作涉及的表信息vtid、选择谓词信息Vspred和样本选择结果信息vsample,该表信息vtid、选择谓词信息Vspred和样本选择结果信息vsample组成选择操作涉及的语义信息、结构信息和数据分布信息;
S104,对查询计划进行解析,提取查询计划中所有连接操作涉及的连接谓词信息vjid和历史连接谓词信息vhjid
S105,利用S102中采集的样本获取查询计划中所有连接操作涉及的样本连接结果信息vlsample和vrsample
S106,将每个查询计划中所有选择操作涉及的表信息vtid、选择谓词信息Vspred和样本选择结果信息vsample和连接操作涉及的连接谓词信息vjid、历史连接谓词信息vhjid以及样本连接结果信息vlsample和vrsample作为一个训练样本,构建训练数据集。
3.如权利要求2所述的基于组合深度神经网络的连接基数估计方法,其特征在于,S103中,表信息vtid是独热编码的特征向量,记数据库中所有表的集合T={t1,t2,…,tg},则表信息vtid的维度为g;若选择操作所涉及的表为ti,则vtid的第i位为1,其余位置为0;
选择谓词信息Vspred是特征向量的集合,表示选择操作在一张表上的所有选择谓词特征,选择谓词信息Vspred包括属性信息
Figure FDA0003457526110000031
运算符信息
Figure FDA0003457526110000032
操作数信息
Figure FDA0003457526110000033
和属性直方图信息
Figure FDA0003457526110000034
样本选择结果信息vsample是一个n维的特征向量,对于S102中离线采样得到的n个随机样本,用选择操作在该表上的所有选择谓词判断每一个样本,若样本通过所有选择谓词,则为1,反之为0。
4.如权利要求3所述的基于组合深度神经网络的连接基数估计方法,其特征在于,属性信息
Figure FDA0003457526110000035
是独热编码的特征向量,该特征向量以所有表中非主键数值类型属性的数量为维度,选择谓词所涉及的属性对应位置为1,其余位置为0;
运算符信息
Figure FDA0003457526110000036
是独热编码的特征向量,该特征向量以运算符数量为维度,选择谓词的运算符对应位置为1,其余位置为0;
操作数信息
Figure FDA0003457526110000037
是一个归一化的值,使用直方图对操作数vali进行归一化得到,计算公式如下:
Figure FDA0003457526110000038
其中,b表示直方图的桶数,k表示直方图中第一个最大值大于操作数vali的桶的序号,maxk和mink分别表示直方图第k个桶的最大值和最小值,max表示属性的最大值;
属性直方图信息
Figure FDA0003457526110000039
是归一化的直方图边界值特征向量,对于包含b个桶的等频直方图,以一个(b+1)维向量记录由属性最大值和最小值进行归一化后的边界值;
将属性信息
Figure FDA00034575261100000310
运算符信息
Figure FDA00034575261100000311
操作数信息
Figure FDA00034575261100000312
和属性直方图信息
Figure FDA0003457526110000041
串接,得到选择谓词信息
Figure FDA0003457526110000042
然后得到选择谓词信息Vspred
Figure FDA0003457526110000043
5.如权利要求2所述的基于组合深度神经网络的连接基数估计方法,其特征在于,S104中,连接谓词信息vjid是独热编码的特征向量,记所有查询包含的所有连接谓词的集合J={j1,j2,…,jm},则vjid的维度为m,若连接操作的连接谓词为ji,则vjid的第i位为1,其余位置为0;
历史连接谓词信息vhjid是以连接谓词对应的连接操作为根节点的查询计划中,除该连接操作以外所有其余连接操作的连接谓词信息的按位或。
6.如权利要求2所述的基于组合深度神经网络的连接基数估计方法,其特征在于,S105中,样本连接结果信息vlsample的获取过程为:
首先,遍历以连接谓词对应的连接操作为根节点的查询计划,得到涉及连接表tleft的所有连接谓词集合SJ;对于SJ中的每一个连接表tleft和表jt的连接谓词sj,用连接表tleft的样本
Figure FDA0003457526110000044
根据连接谓词sj连接表jt,得到连接谓词sj根据连接表tleft的基础样本连接结果信息br=[br1,br2,…,brk,…,brn],brk表示在表jt中根据连接谓词sj能够成功与表tleft的样本
Figure FDA0003457526110000045
连接的元组数;
然后,对基础样本连接结果信息br和样本选择结果信息进行结果聚合,若|SJ|=1,将基础样本连接结果信息br与表tleft的样本选择结果信息按位乘,作为连接谓词ji的左样本连接结果信息
Figure FDA0003457526110000046
若|SJ|>1,将多个基础样本连接结果信息br按位乘,再与表tleft的样本选择结果信息按位乘,作为连接谓词ji的左样本连接结果信息
Figure FDA0003457526110000047
组成样本连接结果信息vlsample
7.如权利要求1所述的基于组合深度神经网络的连接基数估计方法,其特征在于,S201中,选择模型包含5个全连接层,分别记为nettid、netsample、netspred、netspsum和nettout,相连2个全连接层之间通过激活函数完成数据的映射,其中nettid和netsample分别处理表信息vtid和样本选择结果信息vsample,netspred和netspsum组成Deep Sets模块,处理选择谓词信息Vspred,得到的3个特征表示进行串接后输入给nettout得到选择操作特征表示;
每一个特征向量
Figure FDA0003457526110000051
由netspred处理得到的特征表示相加后经过netspsum处理得到选择谓词信息Vspred的特征表示zspred,计算公式如下:
Figure FDA0003457526110000052
其中Wspred和Wspsum分别表示netspred和netspsum的权重矩阵,bspred和bspsum分别表示netspred和netspsum的偏置项,σ表示非线性激活函数,本发明使用ReLU激活函数;
表信息的特征表示和样本选择结果信息的特征表示ztid和zsample分别由vtid和vsample经过nettid和netsample处理得到;将ztid、zspred和zsample串接后输入给nettout处理得到选择操作特征表示zsel,计算公式如下:
Figure FDA0003457526110000053
其中W表示nettout的权重矩阵,b表示nettout的偏置项,σ表示非线性激活函数,本发明使用ReLU激活函数,
Figure FDA0003457526110000054
表示串接操作。
8.如权利要求1所述的基于组合深度神经网络的连接基数估计方法,其特征在于,S202中,连接模型包含6个全连接层,分别记为netjid、netlsample、netrsample、netlc、netrc和netjout,相连2个全连接层之间通过激活函数完成数据的映射,其中netjid处理连接谓词信息vjid和历史连接谓词信息vhjid,netlsample和netrsample分别处理样本连接结果信息vlsample和vrsample,netlc和netrc分别处理左右子节点对应的选择模型或连接模型所输出的子节点信息zlchild和zrchild,得到的5个特征表示进行串接后输入给netjout得到连接操作特征表示;
连接谓词信息和历史连接谓词信息的特征表示zjid由vjid和vhjid串接后经过netjid处理得到;样本连接结果信息的特征表示zlsample和zrsample分别由vlsample和vrsample经过netlsample和netrsample处理得到;子节点信息的特征表示zlc和zrc分别由zlchild和zrchild经过netlc、netrc处理得到;将zjid、zlsample、zrsample、zlc和zrc串接后输入给netjout处理得到连接操作特征表示zjoin,计算公式如下:
Figure FDA0003457526110000061
其中W表示netjout的权重矩阵,b表示netjout的偏置项,σ表示非线性激活函数,本发明使用ReLU激活函数,
Figure FDA0003457526110000062
表示串接操作。
9.如权利要求1所述的基于组合深度神经网络的连接基数估计方法,其特征在于,S203中,连接基数输出模型包含2个全连接层,相连2个全连接层之间通过激活函数完成数据的映射,最终由sigmoid激活函数输出一个(0,1)之间的标量wout,表示归一化的连接基数估计值
Figure FDA0003457526110000063
其反归一化公式如下:
Figure FDA0003457526110000064
其中,e表示以自然常数为底的指数函数,max和min分别表示所有查询中连接基数真值的最大值和最小值。
CN201911059922.9A 2019-11-01 2019-11-01 一种基于组合深度神经网络的连接基数估计方法 Active CN110888859B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911059922.9A CN110888859B (zh) 2019-11-01 2019-11-01 一种基于组合深度神经网络的连接基数估计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911059922.9A CN110888859B (zh) 2019-11-01 2019-11-01 一种基于组合深度神经网络的连接基数估计方法

Publications (2)

Publication Number Publication Date
CN110888859A CN110888859A (zh) 2020-03-17
CN110888859B true CN110888859B (zh) 2022-04-01

Family

ID=69746751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911059922.9A Active CN110888859B (zh) 2019-11-01 2019-11-01 一种基于组合深度神经网络的连接基数估计方法

Country Status (1)

Country Link
CN (1) CN110888859B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112749191A (zh) * 2021-01-19 2021-05-04 成都信息工程大学 一种应用于数据库的智能代价估计方法、系统及电子设备
CN112905591B (zh) * 2021-02-04 2022-08-26 成都信息工程大学 一种基于机器学习的数据表连接顺序选择方法
CN112883066B (zh) * 2021-03-29 2022-07-08 电子科技大学 一种数据库上的多维范围查询基数估计方法
CN113949647B (zh) * 2021-10-13 2023-08-29 江苏警官学院 一种基于人工神经网络的主机基数估算方法
CN114398395A (zh) * 2022-01-19 2022-04-26 吉林大学 一种基于注意力机制的基数成本估算方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080086444A1 (en) * 2006-10-09 2008-04-10 International Business Machines Corporation System and method for improving cardinality estimation in a relational database management system
US10318866B2 (en) * 2015-03-05 2019-06-11 International Business Machines Corporation Selectivity estimation using artificial neural networks
US11537615B2 (en) * 2017-05-01 2022-12-27 Futurewei Technologies, Inc. Using machine learning to estimate query resource consumption in MPPDB
CA3020884A1 (en) * 2018-01-24 2019-07-24 Wai Kit Ricky Fok Parallel residual neural network architechture and system and method for trainning a residual neural network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于变精度粗糙集的神经模糊网络优化及应用;王培良等;《辽宁工程技术大学学报(自然科学版)》;20090415(第02期);92-95 *

Also Published As

Publication number Publication date
CN110888859A (zh) 2020-03-17

Similar Documents

Publication Publication Date Title
CN110888859B (zh) 一种基于组合深度神经网络的连接基数估计方法
CN106021364B (zh) 图片搜索相关性预测模型的建立、图片搜索方法和装置
US20210232376A1 (en) Vectorized representation method of software source code
CN110110094A (zh) 基于社交网络知识图谱的跨网络人物关联方法
US20230196076A1 (en) Method for optimally selecting flood-control operation scheme based on temporal convolutional network
CN110674407A (zh) 基于图卷积神经网络的混合推荐方法
US8037057B2 (en) Multi-column statistics usage within index selection tools
CN105975488A (zh) 一种关系数据库中基于主题类簇单元的关键词查询方法
CN108647729B (zh) 一种用户画像获取方法
CN105024886B (zh) 一种基于用户元数据的快速Web服务QoS预测方法
CN115617830A (zh) 一种基于机器学习的数据查询优化处理方法及装置
CN111126865B (zh) 一种基于科技大数据的技术成熟度判断方法和系统
CN115062070A (zh) 一种基于问答的文本表格数据查询方法
CN112749191A (zh) 一种应用于数据库的智能代价估计方法、系统及电子设备
Wen et al. MapReduce-based BP neural network classification of aquaculture water quality
CN112883066A (zh) 一种数据库上的多维范围查询基数估计方法
CN110941883B (zh) 变更设计中尺寸更改传播路径生成方法
Zamani et al. Stochastic retrieval-conditioned reranking
Joshi et al. Sampling-based estimators for subset-based queries
CN114564594A (zh) 一种基于双塔模型的知识图谱用户偏好实体召回方法
CN113836174A (zh) 基于强化学习dqn算法的异步sql连接查询优化方法
CN112905591B (zh) 一种基于机器学习的数据表连接顺序选择方法
CN113204539B (zh) 一种融合系统语义的大数据系统参数自动优化方法
CN108256028A (zh) 一种云计算环境中用于近似查询的多维动态采样方法
CN112650770B (zh) 基于query workload分析的MySQL参数推荐方法

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