CN116628136A - 基于声明式推理的协同查询处理方法、系统、电子设备 - Google Patents
基于声明式推理的协同查询处理方法、系统、电子设备 Download PDFInfo
- Publication number
- CN116628136A CN116628136A CN202310660570.2A CN202310660570A CN116628136A CN 116628136 A CN116628136 A CN 116628136A CN 202310660570 A CN202310660570 A CN 202310660570A CN 116628136 A CN116628136 A CN 116628136A
- Authority
- CN
- China
- Prior art keywords
- model
- cost
- query plan
- models
- dif
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000004458 analytical method Methods 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 16
- 230000009466 transformation Effects 0.000 claims abstract description 8
- 238000010845 search algorithm Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims 1
- 238000013528 artificial neural network Methods 0.000 description 31
- 238000004364 calculation method Methods 0.000 description 14
- 238000000034 method Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011218 segmentation 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/041—Abduction
-
- 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)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于声明式推理的协同查询处理方法、系统、电子设备,包括:步骤S1,将查询文本输入至语法分析器得到语法分析树,进而利用关系代数运算符替换语法分析树中的节点和结构,产生关系代数表达式,并利用代数定律进行等价转化,得到逻辑查询计划;步骤S2,将逻辑查询计划转换为中间查询计划;包括:基于类别约束和精度约束为逻辑查询计划中的DIF查找代价最小的NN模型;步骤S3,将中间查询计划转换成物理查询计划;包括:通过确定实现DIF的NN模型的运行方式为中间查询计划中的每个算子选择实现方式,以获取代价最低的物理查询计划。
Description
技术领域
本发明属于数据库系统技术领域,具体涉及一种基于声明式推理的协同查询处理方法、系统、电子设备。
背景技术
传统的关系型数据库查询缺乏对非结构化数据的分析能力。由于深度学习领域的不断进步,人们对用协同查询处理(CQP)技术扩展关系数据库以处理涉及结构化和非结构化数据的高级分析查询越来越感兴趣。
已有的CQP方法使用用户定义函数(UDFs)来实现深度神经网络(NN)模型来处理非结构化数据,并使用关系操作来处理结构化数据。数据库集成多个NN模型来执行类似但不相同的分类任务,不同模型提供了不同的分类性能和精度。因此在即席数据分析中,数据分析师需要手动选择适当的NN模型,这对数据分析师的工作效率是一个严重的挑战。
因此,亟需提出一种协同查询处理方法在数据库中提供自动选择NN模型并确定他们的执行方式,降低手动选择NN模型的开销,提高数据分析师的分析效率。
发明内容
针对现有技术不足,本发明提供了一种基于声明式推理的协同查询处理方法、系统、电子设备。
本发明实施例的第一方面,提供了一种基于声明式推理的协同查询处理方法,包括:
步骤S1,将查询文本输入至语法分析器得到语法分析树,进而利用关系代数运算符替换语法分析树中的节点和结构,产生关系代数表达式,并利用代数定律进行等价转化,得到逻辑查询计划;
步骤S2,将逻辑查询计划转换为中间查询计划;包括:基于类别约束和精度约束为逻辑查询计划中的DIF查找代价最小的NN模型;
步骤S3,将中间查询计划转换成物理查询计划;包括:通过确定实现DIF的NN模型的运行方式为中间查询计划中的每个算子选择实现方式,以获取代价最低的物理查询计划。
本发明实施例的第二方面,提供了一种基于声明式推理的高效协同查询处理系统,包括:
逻辑查询计划获取模块,将查询文本输入至语法分析器得到语法分析树,进而利用关系代数运算符替换语法分析树中的节点和结构,产生关系代数表达式,并利用代数定律进行等价转化,得到逻辑查询计划;
中间查询计划获取模块,将逻辑查询计划转换为中间查询计划;包括:基于类别约束和精度约束为逻辑查询计划中的DIF查找代价最小的NN模型;
物理查询计划获取模块,将中间查询计划转换成物理查询计划;包括:通过确定实现DIF的NN模型的运行方式为中间查询计划中的每个算子选择实现方式,以获取代价最低的物理查询计划。
本发明实施例的第三方面,提供了一种电子设备,包括一个或多个处理器,用于实现上述的基于声明式推理的协同查询处理方法。
本发明实施例的第四方面,提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,用于实现实现上述的基于声明式推理的协同查询处理方法。
与现有技术相比,本发明具有的有益效果是:本发明提出的高效查询处理方法对基于声明式推理的协同查询中DIF可以自动选择满足约束的NN模型以及相应的执行方式,并使用优化规则进行物理查询优化。本发明方法消除了数据分析师手动选择查询中的NN模型的开销,提高了数据分析的效率。本发明方法对协同查询中的DIF实现方式进行优化,降低了查询的执行时间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于声明式推理的协同查询处理方法的流程图;
图2为本发明实施例提供的基于声明式推理的协同查询处理系统的流程图;
图3为本发明实施例提供的新闻数据库查询的示意图;
图4为本发明实施例提供的一种电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明针对现有的基于UDF的CQP方法的不足,本方法提出了基于声明式推理的高效协同查询处理方法,对于数据库中同时操作结构化数据和非结构化数据的协同查询,本发明使用声明式推理函数(DIF),即提出新的神经网络(NN)模型集成设施,来取代UDF处理非结构化数据;数据分析师只需要指定分类任务、类别约束和所需的分类精度,根据优化规则选择满足类别约束和精度约束、且计算代价低的NN模型组合,并确定模型的执行方式来满足要求,从而消除数据分析师手动选择NN模型的开销。
如图1所示,本发明实施例提供了一种基于声明式推理的协同查询处理方法,所述方法具体包括以下步骤:
步骤S1,将查询文本输入至语法分析器(Parser)得到语法分析树,进而利用关系代数运算符替换语法分析树中的节点和结构,产生关系代数表达式,并利用代数定律进行等价转化,得到逻辑查询计划。
步骤S2,将逻辑查询计划转换为中间查询计划;包括:基于类别约束和精度约束为逻辑查询计划中的DIF查找代价最小的NN模型。
具体地,利用类别约束和精度约束为DIF查找NN模型具体包括:
逻辑查询计划中包含DIF的选择算子σDIFin(·)为DIF指定了类别约束S。需要说明的是,类别约束是一个类别的集合,即保留DIF输出结果在给定范围的部分数据,只有DIF输出结果在该集合中的数据会被选择算子选中。利用类别约束和DIF给定的精度约束,在DIF对应的模型库中挑选模型集合。这个模型集合需要覆盖条件中的类别约束,并满足DIF中的精度约束,同时拥有尽可能低的计算代价。
进一步地,NN模型的代价为NN模型部署代价、数据传输代价、NN模型推断代价之和。
(A)对于单个DIF的NN模型选择。
在不考虑模型顺序的前提下,寻找模型集M’的问题与集合覆盖问题比较类似。对这个问题,考虑所有的模型组合并挑选出最优的集合的时间复杂度是指数级的,即O(2n)。在模型数量相对较少时,可以考虑将所有涉及L内类别的模型预先选出,并比较它们的所有组合以获得最优的模型集合。
对模型数量大、类别约束大的场景,使用集束搜索算法来查找模型集合。给定集束的大小bs。先将集束拥有的模型、类别集合与代价进行初始化。在每一个搜索阶段,基于集束中的每一条搜索路径,计算引入未考虑模型的代价。代价的计算方式如下所示:
即模型的代价与模型覆盖的未考虑类别数量之比,体现了选入该模型的价值。按代价从低到高排序,便于选出前bs个模型加入对应路径的备选模型,从而构建bs条新的备选路径。由于集束中有bs条搜索路径,每条路径有bs条对应的备选路径,因此会获得共计bs×bs条备选路径。将这些备选路径按代价从低到高排序,并选出前bs条作为新的集束,周而复始。直到集束中有搜索路径(模型集合)可以满足用户的类别约束。此时便可以把不同搜索路径中运行代价最低的作为搜索结果进行返回。
(B)对于两个DIF的NN模型选择。
在单个DIF模型选择方法的基础上,对于多个DIF的场景,需要考虑不同DIF及他们对应的类别约束之间产生的影响。假定用户查询中存在A和B两个DIF。A和B对应的类别约束分别是LA和LB,且A的分类代价比B更低。考虑LB中的一个子集lB。如果经过A和B的分类之后,从属于LA的数据与从属于lB的数据重合度低于预设的阈值。那么可以在B中省略lB的部分而不会影响到整个查询的准确性。从而B对应的类别约束从LB缩小为LB-lB。在对B进行模型选择的时候就可以选择更少的模型。
(C)对于多个DIF的NN模型选择。
在两个DIF的基础上,考虑多个DIF的情况。首先利用单个DIF的模型选择方法,获得每个DIF对应的模型组合以及预期的计算代价。按照预期代价从低到高,可以把DIF排列为Q={q1,...,m}。对应的类别约束为L1,...,m。然后考察每一对DIF:Qi和Qj(i<j)相应的类别约束重叠度。由于排列在前的Qi计算代价较低,所以Qi需要尽量处理更多的数据量。当Lj中的类别l对应的数据与Li的重叠度在给定的阈值以下时,意味着l在Qj中是可以省略的。最后缩小了Qj的类别约束。
步骤S3,将中间查询计划转换成物理查询计划;包括:通过确定实现DIF的NN模型的运行方式为中间查询计划中的每个算子选择实现方式,以获取代价最低的物理查询计划。
由于中间查询计划中不同算子的物理实现的代价不同,因此需要为中间查询计划中的每个算子选择实现方式,以获取代价最低的物理查询计划。其中,为中间查询计划中的每个算子选择实现方式包括确定实现DIF的模型的运行方式。
进一步地,确定实现DIF的模型的运行方式的过程包括以下步骤:
步骤S301,确定实现DIF的模型的执行顺序。
对单个DIF对应的NN模型组合M,选取并行/串行执行方式中代价较低的方式来执行。模型的执行可以分为并行和串行两种方式。对于并行执行的方式,不同模型需要对同样的全量数据进行推断,但这些模型可以在同一设备或不同设备上同时运行。假定接受同样数量量为B,则查找目标如下所示:
而对于串行执行的方式,需要计算M′中模型的执行顺序。从而模型可以按照计算出来的顺序依次执行。在执行细节上,前一个模型在它的输入数据之上完成推断工作,获取输出类别。将输出类别与约束类别集Lq作比较,从而可以把符合要求的数据移除以减少下一个模型需要处理的数据的量。这种运行方式的查询时间即为顺序执行的模型时间之和。假定每个模型m接受的数据量为bm,则查找目标如下所示:
在同样设备d和同样的输入数据batch数量b的情况,计算出各模型m的运行代价Costd(m,b)。按代价从低到高排列模型并逐一考察模型。当模型的类别集包含未考虑类别时,将该模型添加进模型集中。满足类别约束L时的模型集就是并行执行最优的模型集。在对比串行和并行两种方式各自的最优模型集之后,便可以确定选用其中哪种方案。
在单个DIF模型的执行顺序基础上,计算包含多个DIF的查询中模型的执行顺序。具体来说,将所有DIF划分成多个段。同一段内的DIF对应的模型并行执行,段与段之间DIF的模型串行执行。考虑DIF集合Q={q1,...,k}以及相应的选择性基数S={s1,...,k}。选择性基数代表了DIF所在谓词的筛选程度。当数据量为B的输入数据经过qi的计算和筛选后得到的数据量为bi时,有si=bi/。对应于数据量B,模型组合有各自的计算代价C={c1,...,k}。经过前面串行任务筛选后,数据量会变少。此时后续任务的计算代价也会相应变少。在介绍优化方法之前,先引入一个定理:
将不同DIF按照代价从小到大的顺序进行排列,代价计算如下所示:
此时串行执行的估计计算代价为最小值,如下式所示:
依照这一定理,调整DIF之间的执行方式和顺序的安排。首先将不同DIF按照的值从低到高排序。从所有任务并行执行的初始状态开始,递归地对序列进行切分。对已排序的序列q1,...,n,将序列中每一个模型作为分界点,将任务序列分成上半段和下半段两段。对上半段利用同一算法获得它的切分点、总的计算代价以及数据的筛选比率。其中筛选比率可以被用来计算下半段的输入数据量。基于计算出来的输入数据量,对下半段同样计算获得切分点和计算代价。两端的计算代价之和即为分界后的总代价。将它与现有的最小代价比较以判断是否进行切分。循环结束后将代价最低的分段方式作为结果返回。
步骤S302,确定实现DIF的模型部署的设备。不同的设备会影响在设备上部署模型、将输入数据传输到设备以及模型推断的时间。
对于单个模型m,使用代价模型可以计算将其绑定到所有设备上的代价。从而很容易选择可容纳m并且代价最小的设备来让m执行推断任务。
将拥有的计算设备记为D={dj|j=1,...,}。对于D中每个设备d来说,它有对应的剩余容量计算方式Remaind(m,Min)。即在设备d上已有Min这些模型部署时,引入m之后的剩余容量。从存储的容量角度上看,模型m本身的体量sizem应该小于设备的剩余存储空间。这样才能保证模型的成功部署。而从算力的容量角度上看,在新模型加入之后,首先分配给已有模型Min的算力变动不应过大,其次分配给新模型m的算力应接近单独部署的算力。这样可以尽可能降低该设备上的模型推断时的互相影响。综合这两个角度,只有在Remaind(m,Min)≥0时可以将新模型m部署到设备d上。两种执行方式对应的模型组合分别为:串行的模型组合(按顺序排列)和并行的模型组合(顺序无关)/> 下文将分析这两种执行方式的设备绑定。
对于串行组合Ms来说,模型是按顺序逐个执行的。因此每个模型的设备选择是相对独立的。在提供了可用设备集合D对于每个模型以及对应的batch数量/>之后,利用前文提到的代价模型可以计算这个模型在各个设备dj上的代价/>。从而比较同一模型在不同设备的代价以决定选择什么设备。
对于并行组合Mp来说,模型可并行执行。因此单个模型的设备选择会影响剩下的其他模型的设备选择。首先计算每个模型在每个设备上的预估计算代价。然后将每个模型对应的设备按代价从低到高排列。由于每个模型都有代价最低的设备,从而可以将模型按最低代价从高到低排列。从最高计算代价的模型开始,将该模型部署在其对应代价最低的设备。对后续的模型按顺序处理。具体来说,按照模型的设备顺序进行排查。当该设备足以容纳模型时,将模型部署到该设备上。
如图2所示,本发明实施例还提供了一种基于声明式推理的高效协同查询处理系统,用于实现上述的基于声明式推理的协同查询处理方法,所述系统包括:
逻辑查询计划获取模块,将查询文本输入至语法分析器得到语法分析树,进而利用关系代数运算符替换语法分析树中的节点和结构,产生关系代数表达式,并利用代数定律进行等价转化,得到逻辑查询计划;
中间查询计划获取模块,将逻辑查询计划转换为中间查询计划;包括:基于类别约束和精度约束为逻辑查询计划中的DIF查找代价最小的NN模型;
物理查询计划获取模块,将中间查询计划转换成物理查询计划;包括:通过确定实现DIF的NN模型的运行方式为中间查询计划中的每个算子选择实现方式,以获取代价最低的物理查询计划。
实施例1
对图3中的新闻数据库提出查询如下所示:
SELECT agency FROM news WHERE text_classifier(news.text,80%)IN(’财经’,’金融’,’科技’,’教育’,’娱乐’,’家居’);
查询处理的流程如下所示:
步骤S1,将查询文本输入至语法分析器得到语法分析树,进而利用关系代数运算符替换语法分析树中的节点和结构,产生关系代数表达式,并利用代数定律进行等价转化,得到逻辑查询计划。
步骤S2,将逻辑查询计划转换为中间查询计划;包括:基于类别约束和精度约束为逻辑查询计划中的DIF查找代价最小的NN模型。
步骤S201,计算DIF对应的模型库中模型的代价。本实施例中的DIF对应的模型库如下表1所示。设定同一个部署的设备(如GPU)和输入的数据量(news表的大小),计算不同模型的代价。表1中的代价列即为计算后的代价。
步骤S202,利用类别约束、精度约束和模型代价为DIF查找NN模型。由逻辑查询计划可知,DIF对应的类别约束为L=(’财经’,’金融’,’科技’,’教育’,’娱乐’,’家居’),精度约束为80%,模型代价如表1所示。
表1:模型库示例表
基于类别约束,在模型库中模型m6不包含类别约束中的类别,从而该模型不在考虑范围之内。基于精度约束,模型m7包含查询所需的类别,但模型在类别“家居”的准确率为0.75<0.8,故该模型也不作考虑。在剩下的模型中挑选满足类别约束的模型组合。如模型组合m1,m2,m5和组合m1,m3,m4都可以满足类别约束。使用集束搜索算法来查找满足约束且代价较低的模型集合,以大小为2的集束为例。
计算第一轮各模型的成本,分别为5、10、8.33、12.5、20。取其中成本最低的2个模型构成集束的2条路径{m1}和{m2}。
基于这2条路径,计算第二轮各模型的成本。对于路径{m1},计算m2~m5的成本,分别为10、12.5、12.5、20。取成本最低的2个模型组合成2条备选路径{m1,m2}和{m1,m3}。对于路径{m2},计算m1以及m3~m5的成本,分别为5、12.5、25、20。取出成本最低的2个模型组合成2条备选路径{m2,m1}和{m2,m3}。将所有备选路径集中并去重,如{m1,m2}和{m2,m1}为同一模型集合,可以合并。计算不同备选路径的总成本,即{m1,m2}为30,{m1,m3}为35,{m2,m3}为45.由于集束大小为2,故保留总成本最低的2条备选路径构成集束的2条路径,即{m1,m2}和{m1,m3}。
第三轮的计算中,对于路径{m1,m2},计算m3~m5的成本,分别为25、25、20。取成本最低的2个模型组合成2条备选路径{m1,m2,m5}和{m1,m2,m3}。对于路径{m1,m3},计算m2,m4,m5的成本,分别为20、12.5、40。取出成本最低的2个模型组合成2条备选路径{m1,m3,m4}和{m1,m3,m2}。合并去重后留下三条路径:{m1,m2,m5}、{m1,m2,m3}、{m1,m3,m4},总成本分别为70、55、60。由于路径{m1,m3,m4}可以满足类别约束,且总成本最低。于是最终选择{m1,m3,m4}来实现DIF。
步骤S3,将中间查询计划转换成物理查询计划;包括:通过确定实现DIF的NN模型的运行方式为中间查询计划中的每个算子选择实现方式,以获取代价最低的物理查询计划。
步骤S301,确定模型的执行顺序。模型并行执行的代价为25,即模型集合{m1,m3,m4}中代价最大的模型m3的代价。模型串行执行时,按照m1→m3→m4的顺序执行。其代价为10+(1-0.2)*25+(1-0.2)*(1-0.2)*25=46.由于25<46,所以选择并行执行的方式运行模型。
步骤S302,确定模型的部署设备。下表2所示为提供的设备。由于模型并行执行,将代价更大的模型部署在计算速率更快的设备上可以节省更多的时间。由表1和表2综合可知,模型m4可以部署在设备d3上。m3和m1可以同时部署在d2上。此时所有模型运行的代价为
表2:设备示例表
设备 | 存储容量 | 计算速率(倍率) |
d1 | 10 | 1 |
d2 | 7 | 3 |
d3 | 3 | 5 |
相应的,本申请还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的基于声明式推理的高效协同查询处理方法。如图4所示,为本发明实施例提供的基于声明式推理的高效协同查询处理方法所在任意具备数据处理能力的设备的一种硬件结构图,除了图4所示的处理器、内存以及网络接口之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
相应的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述的基于声明式推理的高效协同查询处理方法。所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。
Claims (10)
1.一种基于声明式推理的协同查询处理方法,其特征在于,包括:
步骤S1,将查询文本输入至语法分析器得到语法分析树,进而利用关系代数运算符替换语法分析树中的节点和结构,产生关系代数表达式,并利用代数定律进行等价转化,得到逻辑查询计划;
步骤S2,将逻辑查询计划转换为中间查询计划;包括:基于类别约束和精度约束为逻辑查询计划中的DIF查找代价最小的NN模型;
步骤S3,将中间查询计划转换成物理查询计划;包括:通过确定实现DIF的NN模型的运行方式为中间查询计划中的每个算子选择实现方式,以获取代价最低的物理查询计划。
2.根据权利要求1所述的基于声明式推理的协同查询处理方法,其特征在于,NN模型的代价为NN模型部署代价、数据传输代价、NN模型推断代价之和。
3.根据权利要求1所述的基于声明式推理的协同查询处理方法,其特征在于,对于单个DIF选择NN模型包括:
将覆盖所有的类别约束的NN模型选出,比较所有NN模型组合的代价,选取最优的NN模型集合;
或,
采用集束搜索算法来查找NN模型集合。
4.根据权利要求3所述的基于声明式推理的协同查询处理方法,其特征在于,采用集束搜索算法来查找NN模型集合包括:
记集束的大小为bs;
将集束拥有的NN模型、类别集合与代价进行初始化;
在每一个搜索阶段,基于集束中的每一条搜索路径,计算引入未考虑NN模型的代价;未考虑NN模型的代价为NN模型的代价与模型覆盖的未考虑类别数量之比;
按代价从低到高排序,便于选出前bs个NN模型加入对应路径的备选模型,从而构建bs条新的备选路径;
集束中有bs条搜索路径,每条路径有bs条对应的备选路径,得到bs×bs条备选路径;将所有备选路径按代价从低到高排序,并选出前bs条作为新的集束,以此类推,直到集束中有搜索路径满足类别约束;把不同搜索路径中运行代价最低的模型集合作为搜索结果。
5.根据权利要求1所述的基于声明式推理的协同查询处理方法,其特征在于,对于多个DIF选择NN模型包括:
得每个DIF对应的模型组合,并计算预期的代价;
按照预期代价从低到高,可以把DIF排列为Q={q1,...,m},对应的类别约束为L1,...,m;
考察每一对DIFQi和Qj的类别约束重叠度,i<j;当类别约束Lj中的类别l对应的数据与类别约束li的重叠度小于预设阈值时,类别l在Qj中是可以省略的,以此缩小Qj的类别约束。
6.根据权利要求1所述的基于声明式推理的协同查询处理方法,其特征在于,确定实现DIF的NN模型的运行方式包括:
确定实现DIF的模型的运行方式;包括:对于单个DIF对应的NN模型组合,选取并行/串行执行方式中代价较低的方式来执行;对于多个DIF对应的NN模型组合,将所有DIF划分成多个段;同一段内的DIF对应的模型并行执行,段与段之间DIF的模型串行执行;
确定实现DIF的模型部署的设备;包括:对于单个NN模型,计算将NN模型绑定到所有设备上的代价,选择可容纳NN模型并且代价最小的设备;对于串行NN模型组合,有可用设备集合,计算串行NN模型组合中的每个NN模型在各个设备上的代价,选择可容纳NN模型并且代价最小的设备;对于并行NN模型组合,计算每个NN模型在对应的每个设备上的代价,并排序,将代价最高的NN模型部署在代价最低的设备上,以此类推,完成NN模型的部署。
7.根据权利要求1所述的基于声明式推理的协同查询处理方法,其特征在于,对于串行NN模型组合,有可用设备集合,计算串行NN模型组合中的每个NN模型在各个设备上的代价,选择可容纳NN模型并且代价最小的设备包括:
对于并行执行,不同NN模型需要对同样的全量数据进行推断;
对于串行执行的方式,需要NN模型组合中NN模型的执行顺序;前一个NN模型在它的输入数据之上完成推断工作,获取输出类别;将输出类别与约束类别集Lq作比较,从而可以把符合要求的数据移除以减少下一个NN模型需要处理的数据的量,查询时间即为顺序执行的模型时间之和;
在同样设备和同样的输入数据的情况下,计算出各NN模型的运行代价;按运行代价对NN模型从低到高进行排列,检查NN模型是否,满足类别约束,将满足类别约束的模型集作为最优模型集;
对比串行和并行分别对应的最优模型集,确定并行或串行执行方式。
8.一种基于声明式推理的高效协同查询处理系统,其特征在于,用于实现权利要求1-7中任一项所述的基于声明式推理的协同查询处理方法,所述系统包括:
逻辑查询计划获取模块,将查询文本输入至语法分析器得到语法分析树,进而利用关系代数运算符替换语法分析树中的节点和结构,产生关系代数表达式,并利用代数定律进行等价转化,得到逻辑查询计划;
中间查询计划获取模块,将逻辑查询计划转换为中间查询计划;包括:基于类别约束和精度约束为逻辑查询计划中的DIF查找代价最小的NN模型;
物理查询计划获取模块,将中间查询计划转换成物理查询计划;包括:通过确定实现DIF的NN模型的运行方式为中间查询计划中的每个算子选择实现方式,以获取代价最低的物理查询计划。
9.一种电子设备,其特征在于,包括一个或多个处理器,用于实现权利要求1-7中任一项所述的基于声明式推理的协同查询处理方法。
10.一种计算机可读存储介质,其上存储有程序,其特征在于,该程序被处理器执行时,用于实现权利要求1-7中任一项所述的基于声明式推理的协同查询处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310660570.2A CN116628136A (zh) | 2023-06-05 | 2023-06-05 | 基于声明式推理的协同查询处理方法、系统、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310660570.2A CN116628136A (zh) | 2023-06-05 | 2023-06-05 | 基于声明式推理的协同查询处理方法、系统、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116628136A true CN116628136A (zh) | 2023-08-22 |
Family
ID=87597246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310660570.2A Pending CN116628136A (zh) | 2023-06-05 | 2023-06-05 | 基于声明式推理的协同查询处理方法、系统、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116628136A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821193A (zh) * | 2023-08-30 | 2023-09-29 | 之江实验室 | 一种基于代理模型近似处理的推理查询优化方法及装置 |
-
2023
- 2023-06-05 CN CN202310660570.2A patent/CN116628136A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821193A (zh) * | 2023-08-30 | 2023-09-29 | 之江实验室 | 一种基于代理模型近似处理的推理查询优化方法及装置 |
CN116821193B (zh) * | 2023-08-30 | 2024-01-09 | 之江实验室 | 一种基于代理模型近似处理的推理查询优化方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11971890B2 (en) | Database management system for optimizing queries via multiple optimizers | |
CN112286954B (zh) | 基于混合引擎的多维数据分析方法和系统 | |
Yagoubi et al. | Dpisax: Massively distributed partitioned isax | |
CN111222556B (zh) | 一种基于决策树算法识别用电类别的方法及系统 | |
US9892159B2 (en) | Distance-based logical exploration in a relational database query optimizer | |
US20210216854A1 (en) | Neural network searching method, device and storage medium | |
CN106991141B (zh) | 一种基于深度剪枝策略的关联规则挖掘方法 | |
US11288266B2 (en) | Candidate projection enumeration based query response generation | |
US10877973B2 (en) | Method for efficient one-to-one join | |
CN111651641B (zh) | 一种图查询方法、装置及存储介质 | |
CN113268485B (zh) | 数据表关联分析方法、装置、设备及存储介质 | |
CN110781174A (zh) | 一种使用pca和特征交叉的特征工程建模方法和系统 | |
CN116628136A (zh) | 基于声明式推理的协同查询处理方法、系统、电子设备 | |
CN111125199B (zh) | 一种数据库访问方法、装置及电子设备 | |
CN108334532B (zh) | 一种基于Spark的Eclat并行化方法、系统及装置 | |
US20100023474A1 (en) | Decision Tree Coalescing for Document Ranking | |
Sun et al. | An improvement to feature selection of random forests on spark | |
CN115712836A (zh) | 一种交互式迭代建模方法 | |
KR20160047239A (ko) | 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법 및 장치 | |
CN114443659A (zh) | 联接表的方法和装置 | |
CN114064689A (zh) | 基于慢查询日志的云数据库二级索引自动推荐方法和系统 | |
CN113408735A (zh) | 用于模型优化的方法、装置以及存储介质 | |
CN112650770B (zh) | 基于query workload分析的MySQL参数推荐方法 | |
CN118113723B (zh) | 多查询共享的排序归并连接方法、设备、存储介质及程序产品 | |
JPH0330066A (ja) | 情報検索方式 |
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 |