一种合取范式概率约束的化简方法及其应用技术

技术编号:37240096 阅读:8 留言:0更新日期:2023-04-20 23:21
本发明专利技术公开了一种合取范式概率约束的化简方法,包括如下步骤:给定一个合取范式概率约束,针对其SQL谓词中合取范式表达式,抽取其所有析取子句。通过设置每个析取子句中关系表达式中的参数,设置尽量多的析取子句为真,减少有效的析取子句。进一步,通过设置剩余析取子句中关系表达式中的参数,减少有效的关系表达式。最终,将原始表达式化简为一个关系表达式,或多个非等值关系表达式的析取式,或多个等值关系表达式的合取式。最后得到化简后的概率约束。率约束。率约束。

【技术实现步骤摘要】
一种合取范式概率约束的化简方法及其应用


[0001]本专利技术属于数据库技术以及负载仿真领域,尤其涉及一种合取范式概率约束的化简方法及其应用。

技术介绍

[0002]如今,传统的基准评测(如SSB,TPC

H,TPC

DS)已经难以模拟越来越多的应用场景。当需要对数据库系统进行评测或者需要进行应用迁移的时候,对于原始应用场景的模拟和仿真变得越来越重要。
[0003]对于这个问题,SIGMOD2007年的QAGen
[2]提出了查询感知数据库生成器
[1

7],其通过分析具体工作负载的查询计划,生成一个用于测试的仿真数据库和一组仿真查询,使得在使用相同的查询计划时,在生成的仿真数据库上的执行的仿真查询和在原始数据库的执行的原始查询有相同的中间结果(即每个对应算子的输入和输出相同),使得数据库生成器能够获得与查询性能相关的特征。这对于数据库的性能评测有很大的帮助,尤其是在HTAP数据库中,中间结果集的大小是查询性能的一项非常重要的指标。
[0004]在进行负载仿真的过程中,最重要的就是使得每个算子满足相应的概率约束,即给定原查询中的一个选择算子和它在仿真查询中对应的选择算子,两个算子的输入行数和输出行数都相等。过去的工作
[1

7]适配的谓词要么是简单的关系表达式,要么是简单的逻辑表达式(即仅仅包含AND或者OR这两个逻辑运算符中其中一个的逻辑表达式),对于复杂的逻辑表达式(即同时包含AND和OR这两个逻辑运算符的逻辑表达式)的适配却未曾涉及。其原因在于复杂的逻辑表达式往往涉及到一张表的多个列,处理多个列的联合概率会给数据库仿真的过程带来极大的复杂度,这已经被证明是一个NP

hard问题。

技术实现思路

[0005]为了解决算子的SQL谓词条件为复杂的逻辑表达式时,该算子的概率约束难以仿真的问题,本专利技术提出了一种合取范式概率约束的化简方法,其核心思想为:不关心复杂逻辑表达式中每个子关系表达式的概率约束,只对整个复杂逻辑表达式对应的概率约束进行仿真。由于实际生产环境中的复杂逻辑表达式大多为合取范式,因此本专利技术针对的复杂逻辑表达式满足合取范式。对满足合取范式的复杂的逻辑表达式进行化简,化简的方法基于逻辑计算中的两个规则:规则一:CL
i

T,即当CL
i
的输出结果为真的时候,CL
i
∧CL
j
的结果只取决于CL
j
而不取决于CL
i
;规则二:CL
i

F,即当CL
i
的输出结果为假的时候,Cl
i
∨CL
j
的结果只取决于CL
j
而不取决于CL
i
。使用这个方法,复杂的逻辑表达式就可以被简化为单个关系表达式或者若干等值关系表达式的合取式或者若干非等值关系表达式的析取式。
[0006]本专利技术具体包括如下步骤:
[0007]步骤一:抽取析取子句。给定一个合取范式概率约束P(Conjunction)=pb,其SQL谓词Conjunction的形式为合取范式表达式,通过合取范式表达式中的合取操作符抽取为
若干析取子句,其中析取子句CL(clause)可能为单个关系表达式,也可能为若干个关系表达式的析取形式,若干个关系表达式的析取形式可以表示为CL=Predicate1∨Predicate2∨

Predicate
n
,Predicate
i
为关系表达式。
[0008]所述SQL谓词的形式为合取范式表达式,合取范式表达式的形式为多个析取子句的合取形式,为CL1∧CL2…
CL
n

[0009]步骤二:减少有效的析取子句。步骤一中的析取子句分为两种,一种是关系表达式,另外一种是若干个关系表达式的析取形式。
[0010]步骤二中,关系表达式Predicate的形式为xΘp,其中x为单个变量或者算数表达式,p为参数,Θ为关系运算符,包括>、<、≥、≤、=、≠、in、not in、like、not like。其中Predicate=为等值关系表达式,即关系运算符为=,in,like的关系表达式;Predicate

为非等值关系表达式,即关系运算符为≠,not in,not like的关系表达式;Predicate
<>
为不等值关系表达式,即关系运算符为<,≤,>,≥的关系表达式。
[0011]若析取子句为单个关系表达式,且该关系表达式为非等值关系表达式或者不等值关系表达式,则通过规则一对其进行化简。所述规则一是指CL
i

T,即当CL
i
的输出结果为真的时候,CL
i
∧CL
j
的结果只取决于CL
j
而不取决于CL
i

[0012]判断单个关系表达式是否能被化简的方法为:若关系表达式的形式为x≤p或x<p,则可以将参数p设置为k(k为x值域的上界),使得该关系表达式的输出为真,表示该关系表达式可以被化简。若关系表达式的形式为x≥p或x>p,则将参数p设置为

k(

k为x值域的下界),使得该关系表达式的输出为真,表示该关系表达式可以被化简。若关系表达式的形式为x≠p或x not inp或x not like p,则将p设置为空值null,则输出为真,表示可以被化简。最后削减掉所有可以被化简的析取子句。
[0013]若析取子句为若干个关系表达式的析取式,则只要其中任意一个关系表达式的逻辑值可以设置为真,则削减该析取子句。
[0014]若所有析取子句都可以被削减,则保留任意一个析取子句;
[0015]步骤三:减少有效的关系表达式。对于剩下的析取子句,对其中的每一个等值关系表达式和不等值关系表达式设置边界值参数,判断该关系表达式的输出是否为假,若为假,则可以由规则二进行化简,所述规则二是指CL
i

F,即当CL
i
的输出结果为假的时候,CL
i
∨CL
j
的结果只取决于CL
j
而不取决于CL
i

[0016]具体的判断方法为:若关系表达式的形式为x≤p或x<p,则代表它可以通过将参数p设置为

a(

a为x值域的下界)使得关系表达式的输出为假,证明它可以被化简。若关系表达式的形式为x≥p或x>p,则代表它可以通过将参数p设置为a(a为x值域的上界)使得该关系表达式的输出为假,证明它可以被化简。若关系表本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种合取范式概率约束的化简方法,其特征在于,包括如下步骤:步骤一、抽取析取子句:给定一个合取范式概率约束,所述概率约束的SQL谓词的形式为合取范式表达式,抽取所述合取范式表达式中的析取子句;所述析取子句包括单个关系表达式或若干个关系表达式的析取式;步骤二、减少有效的析取子句:若步骤一中的析取子句为单个关系表达式,则通过将其参数设定为边界值的方式,判断它的逻辑值是否能够设置为真,若能够,则削减该析取子句;若步骤一中的析取子句为若干个关系表达式的析取式,则只要其中任意一个关系表达式的逻辑值能够设置为真,则削减该析取子句;若所有析取子句都能够被削减,则保留任意一个析取子句;步骤三、减少有效的关系表达式:对于步骤二中剩余的析取子句,对其中每一个关系表达式进行判断,通过将其参数设定为边界值的方式,判断它的逻辑值是否能够设置为假,若能够,则削减该子关系表达式;若步骤二中剩余的子句数量超过一个,则每个的析取子句化简结果必为单个等值关系表达式,对每个析取子句化简得到的单个等值关系表达式做合取操作,作为最终返回的关系表达式;若步骤二中剩余的子句数量为一个,则析取子句化简结果必为单个关系表达式,或者多个非等值关系表达式的析取式;最后用通过减少析取子式和减少关系表达式化简后的表达式代替原始表达式,得到化简后的概率约束。2.如权利要求1所述的针对合取范式概率约束的化简方法,其特征在于,在所述步骤一中,合取范式概率约束的形式为P(Conjunction)=pb,表示在数据库中的某个表满足SQL谓词条件Conjunction的元组数占该表总元组数的百分比为Pb,其中谓词条件Conjunction满足合取范式。3.如权利要求1所述的针对合取范式概率约束的化简方法,其特征在于,在所述步骤一中,SQL谓词中合取范式表达式为多个析取字句的合取形式,即CL1∧CL2…
CL
n
。4.如权利要求1所述的针对合取范式概率约束的化简方法,其特征在于,在所述步骤二中,关系表达式Predicate的形式为xΘp,其中x为单个变量或者算数表达式,p为参数,Θ为关系运算符,包括>,<,≥,≤,=,≠,in,not in,like,not like;其中Predicate=为等值关系表达式,即关系运算符为=,in,like的关系表达式;Predicate

为非等值关系表达式,即关系运算符为≠,not in,not like的关系表达式;Predicate
<>
为不等值关系表达式,即关系运算符为<,≤,>,≥的关系表达式。5.如权利要求1所述的针对合取范式概率约束的化简方法,其特征在于,在所述步骤二中,当析取子句CL为若干个关系表达式的析取形式时,表示为CL=Predicate1∨Predicate2∨

Predicate
n
,Predicate
i
为关系表达式。6.如权利要求1所述的针对合取...

【专利技术属性】
技术研发人员:王清帅李好杨程程张蓉
申请(专利权)人:华东师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1