CN113434540B - 支持左外连接的应用驱动数据生成中依赖关系生成方法及系统 - Google Patents

支持左外连接的应用驱动数据生成中依赖关系生成方法及系统 Download PDF

Info

Publication number
CN113434540B
CN113434540B CN202110509294.0A CN202110509294A CN113434540B CN 113434540 B CN113434540 B CN 113434540B CN 202110509294 A CN202110509294 A CN 202110509294A CN 113434540 B CN113434540 B CN 113434540B
Authority
CN
China
Prior art keywords
state
column
key
proportion
filtering
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
CN202110509294.0A
Other languages
English (en)
Other versions
CN113434540A (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.)
East China Normal University
Original Assignee
East China Normal University
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 East China Normal University filed Critical East China Normal University
Priority to CN202110509294.0A priority Critical patent/CN113434540B/zh
Publication of CN113434540A publication Critical patent/CN113434540A/zh
Application granted granted Critical
Publication of CN113434540B publication Critical patent/CN113434540B/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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种支持左外连接的应用驱动数据生成中依赖关系生成方法,包括如下步骤:分析主键状态,对于给定的数据库结构及原始查询语句,计算左外连接中主键列所在查询子树的查询结果,标记主键的留存状态,并对主键的留存状态进行统计;计算主键过滤比例,根据给定的左外连接约束计算每种状态的主键过滤比例;填充外键,根据过滤比例随机无重复地填充外键,并在处理过程中采用溢写文件的方式压缩内存使用量。本发明还公开了实现上述方法的系统。相比于现有技术,本发明具有特征提取优势,真实性约束优势,数据压缩优势。

Description

支持左外连接的应用驱动数据生成中依赖关系生成方法及 系统
技术领域
本发明属于数据库技术以及数据合成技术领域,尤其涉及一种支持左外连接的应用驱动数据生成中依赖关系生成方法及系统。
背景技术
目前,随着网络的发展和个人终端的普及,数据量呈现明显的增长趋势。与此同时,电商、社交媒体的网络平台对数据的分析需求也在不断增加。在这些新场景、新需求中,对数据库重新进行性能评测成为需要面临的一种新的挑战。而在数据库性能评测中,负载生成是一个重要的环节。无论是对于新的数据库组件,还是新的数据负载,模拟具有所需负载特征的数据库实例都有着重要的意义。
在生成所需负载时,一个重要的需求是控制查询的中间结果集的大小。参考文献[1]通过启发式方法得到多个查询实例,可以较为有效地得到预期大小的查询实例,但难以实现生成的并行化。相似的工作还有参考文献[3,6]。除了启发式的方法,参考文献[2]采用了随机抽样和剪枝的技术,也可以在一定程度上满足输出结果集的大小需求,但由于这一方法不考虑查询负载,生成的查询实例与真实查询的一致性难以保证。参考文献[4-5]则是通过已知输出,反向得到对应的查询。这些工作都只能生成较为简单的查询模型,无法生成含有复杂连接条件的查询实例。相对的,参考文献[7-9]则是在提供数据特征的基础上,采用不同方法生成查询,但难以保证生成的查询与实际查询性能接近。
因此,由于难以并行化,生成结果真实性低,生成的查询较为简单等原因,自动生成的负载目前还难以实用化,仅能利用已有测试基准或人工模拟负载进行测试。而正确选取已有负载或人工构建负载均对测试人员的专业性提出了很高的要求,需要测试人员对测试场景、测试需求和数据库原理均有较深的理解。
目前常见的已有负载有很多,而不同的负载针对的是不同的应用场景。例如,针对在线事务处理数据库的负载有TPC-C、TPC-E、SmallBank等,此类负载主要包含读写事务,根据针对的应用业务,复杂程度有所不同。针对在线分析处理数据库的负载有TPC-H,TPC-C和SSB等,其负载主要是复杂查询,包含大规模扫描、多表连接、聚合等。除了针对这两种主要数据库功能的负载,还有混合事务处理和分析处理的CH-benCHmark,评测吞吐能力的YCSB等负载。虽然不同的负载已经包含了大量的应用场景,但实际生产环境中的负载依然与已有负载有着较大的差异,也即,已有负载往往不能有效地体现需求场景中的数据特征。即便存在相近的已有负载,由于数据特征难以精确描述,测试人员也不一定能准确选择正确的负载。因此,利用已有负载得到的评测结果可能不具有很大的现实意义。
基于这一问题,采用负载生成的方式得到精确对应应用场景的负载具有重要的意义。然而,正如前文所述,目前负载生成仍然存在如下的关键问题:
1.数据生成过程中难以满足基数约束,即控制中间结果集的大小,常需要维护庞大且复杂的中间状态。
2.生成结果的真实性难以保证,生成的效率较为低下。
据此对问题进行定义:
定义1-负载真实性:生成的模拟负载应当与真实负载高度相似。即通过模拟负载获取的测试结果和真实负载下的运行结果应当相近或一致。
定义2-满足基数约束:对于查询树中包含左外连接的子节点,需要保证其中间结果满足需求大小和不匹配的比例,以控制算子的执行代价。
发明内容
为了解决现有技术存在的不足,本发明的目的是提出一种支持左外连接的应用驱动数据生成中依赖关系生成方法及系统,通过计算约束,求解优化问题的方式给出一个控制左外连接中间结果集大小的有效解决方案,并通过随机算法控制生成实例的随机性,同时也通过压缩数据的方式提高了生成效率。
在本发明中,负载真实性主要指在填充外键时保证结果中正常连接的比例和因无法匹配导致的空值的比例与真实环境下一致。
在本发明中,复杂查询主要指同时含有连接和选择算子的查询,尤其指在左外连接下的查询。在该种情形下,外键的连接往往不是一一对应的,因此无法简单确定其连接数量,即中间结果集的大小。所以,控制外键的连接以解决上述负载真实性和满足基数约束两个问题成为了关键,同时也是一个难点。
本发明提出了一种支持左外连接的应用驱动数据生成中依赖关系的生成方法,所述方法包括如下步骤:
步骤一、分析主键状态:对于给定的数据库结构及原始查询语句,计算左外连接所在查询子树的查询结果,标记主键的留存状态,并对主键的留存状态进行统计。
步骤二、计算主键过滤比例:根据给定输入的左外连接约束,基于计算规则构造过滤比例所应满足的线性约束关系,在此基础上优化过滤比例以达到均匀过滤。
步骤三、填充外键:根据过滤比例,随机无重复地生成外键,并在处理过程中采用溢写文件的方式压缩计算数据量。其中,所述随机无重复地生成外键,采用的是基于Fisher-Yates Shuffle的随机生成算法,此算法的时间复杂度为线性复杂度,可表示为O(n),n为需要生成的长度,且无额外空间开销。
步骤一中,所述给定的数据库结构包括数据库表项、表项各列属性、各属性列的数据分布等;所述原始查询语句包括查询算子、查询属性列、查询表等;所述查询结果包括留存主键、数据规模、主键的具体数据等;所述主键的留存状态包括留存、不留存;所述主键的留存状态采用位图的形式保存其结果,并保存为表的形式;所述留存状态的相关统计结果包括数据占整体比例、留存状态、对应的数据内容等。
步骤二中,所述输入的左外连接约束包括主键留存统计结果和过滤比例等,其中,所述主键的留存统计结果需要根据左外连接进行压缩,重新合并数据比例,以减少不必要的计算。所述基于计算规则构造的线性约束关系,需保证各列均满足以下条件:在对应列中根据留存比例的加权求和获得的各留存状态的过滤比例与全列的过滤比例相等,即:
Figure BDA0003059666880000031
其中,Vj表示第j个状态列为‘保留’的集合,对于一个Vj中的位状态i,αi表示该状态在该状态列下的比例,pi表示第i个主键状态在该状态列下的过滤比例,βj表示第j列全列的过滤比例;所述状态列是指步骤一中保存的主键留存状态表中的列;
所述优化过滤比例的优化目标是最小化真实匹配比例和目标匹配比例的方差,即:
Figure BDA0003059666880000032
其中,Vj表示第j个状态列为‘保留’的集合,对于一个Vj中的位状态i,αi表示该状态在该状态列下的比例,pi表示第i个主键状态在该状态列下的过滤比例,βj表示第j列全列的过滤比例,M表示状态列数量,αk表示第k个主键状态在该状态列下的比例;
所述状态列是指在步骤一中保存的主键留存状态表中的列。
具体地,所述方差的优化结果应当为方差值域的最小值。
步骤三中,所述采用溢写文件的方式压缩数据量是指先将连接表中删除的数据转存到另一张结构相同的表中,当存储表容量达到阈值时,将内容顺序导出到文件中,并清空该表。
本发明还提供了实现上述方法的系统,所述系统包括主键统计模块、过滤比例计算模块、外键生成模块;
具体地,所述主键统计模块用于对于给定的数据库结构及原始查询语句,计算左外连接所在查询子树的查询结果,标记主键的留存状态,并对主键的留存状态进行统计;
所述过滤比例计算模块用于计算主键过滤比例,根据给定输入的左外连接约束,基于计算规则构造过滤比例所应满足的线性约束关系,在此基础上优化过滤比例以达到均匀过滤;
所述外键生成模块用于根据过滤比例,随机无重复地生成外键,并在处理过程中采用溢写文件的方式压缩计算数据量。
本发明的有益效果包括:特征提取优势,真实性约束优势,数据压缩优势。
(一)特征提取优势:由于对主键留存情况进行了状态统计,其记录的数量得到了大幅压缩,从而可以提高后续计算的计算效率。
(二)真实性约束优势:由于计算外键过滤比例时采用与真实过滤比例的方差作为优化目标,优化结果为方差值域的最小值,其输出结果可以保证在最大限度拟合真实过滤比例,从而使得生成的测试负载有效反映真实生成环境的负载情况。
(三)数据压缩优势:由于进行外键生成时采用溢写文件的方式,将同一时间运算的数据量控制在规定限度下,提高了计算效率,最终实现高效实时的生成性能。
附图说明
图1是本发明实施例中计算左外连接约束的主键压缩的示意图。
图2是本发明实施例中计算左外连接约束的构造约束和优化的示意图。
图3是本发明方法的流程图。
图4是本发明方法的系统示意图。
具体实施方式
结合以下具体实施例和附图,对发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
本发明提出了一种支持左外连接的应用驱动数据生成中依赖关系生成的方法,所述方法包括如下步骤:
步骤1、分析主键状态:对于给定的数据库结构及原始查询语句,计算左外连接所在查询子树的查询结果,例如,对于左外连接,自底向上计算以左外连接为根节点的查询子树,获得该子树的查询结果,根据这一结果,可以得到数据表中主键是否在查询过程中被除去,即主键的留存状态。根据主键的留存状态,采用位图的形式保存其结果,并保存为表的形式。在获取了主键留存状态的表项后,对主键的留存状态进行统计,统计结果包含数据占整体比例、留存状态和对应的数据内容等。
步骤2、计算主键过滤比例:根据给定输入的左外连接约束,基于计算规则构造过滤比例所应满足的线性约束关系,在此基础上优化过滤比例以达到均匀过滤。
所述输入的左外连接约束包括主键留存统计结果和过滤比例等,所述主键的留存统计结果需要根据左外连接进行压缩,重新合并数据比例,以减少不必要的计算。例如,对于共有3列属性列的主键,若左外连接仅涉及其中前两列,则可对第三列进行压缩,将其数据比例进行合并,从而减少数据量,提高计算效率。
所述基于计算规则构造的线性约束关系,该约束关系针对每一主键的状态列,需保证各列均满足以下条件:在对应列中根据留存比例的加权求和获得的各留存状态的过滤比例与全列的过滤比例相等,即如下等式:
Figure BDA0003059666880000051
其中,Vj表示第j个状态列为‘保留’的集合,对于一个Vj中的位状态i,αi表示该状态在该状态列下的比例,pi表示第i个主键状态在该状态列下的过滤比例,βj表示第j列全列的过滤比例;所述状态列是指步骤一中保存的主键留存状态表中的列。
所述优化过滤比例的优化目标是最小化真实匹配比例和目标匹配比例的方差,即方差的优化结果为方差值域的最小值,参照上述符号,可以写出公式如下:
Figure BDA0003059666880000052
其中,Vj表示第j个状态列为‘保留’的集合,对于一个Vj中的位状态i,αi表示该状态在该状态列下的比例,pi表示第i个主键状态在该状态列下的过滤比例,βj表示第j列全列的过滤比例,M表示状态列数量,αk表示第k个主键状态在该状态列下的比例;所述状态列是指步骤一中保存的主键留存状态表中的列。
步骤3、填充外键:根据过滤比例,随机无重复地生成外键,并在处理过程中采用溢写文件的方式压缩计算数据量。其中,所述随机无重复地生成外键,采用的是基于Fisher-Yates Shuffle的随机生成算法,此算法的时间复杂度为O(n),其中n为需要生成的长度,且无额外空间开销。其算法如下:
Figure BDA0003059666880000061
其中,m是随机的元组长度。通过这一算法,可以保证外键的生成是完全随机匹配的,因此保证了数据的随机性。
所述采用溢写文件的方式压缩数据量是指先将连接表中删除的数据转存到另一张结构相同的表中,当存储表容量达到阈值时,将内容顺序导出到文件中,并清空该表。重复以上操作,直到数据完全生成。此时可以得到一系列文件。随后,在填充外键值时,重新将某一个文件还原为一个连接表,并从中无放回地抽取一个主键值,用于保证过滤比例。当该文件中某一状态的主键值全部耗尽时,取新的文件与原文件合并。重复直到填充完成。由于文件中的主键值来自于连接表在步骤二中删除的数据,而删除数据的过程是随机的,因此可以保证填充过程中的随机性。
根据上述数据填充问题的定义,本方法的输入包含数据表结构,数据库查询模板和目标负载的连接匹配特征。本方法的实施流程包含主键状态统计,左外连接约束计算和生成外键三个步骤。本方法的输出包含经过外键填充后的数据库查询。
本发明还提供了实现上述方法的系统,所述系统包括主键统计模块、过滤比例计算模块、外键生成模块;
具体地,所述主键统计模块用于在给定的数据库结构及原始查询语句的基础上,计算左外连接所在查询子树的查询结果,从而得到了主键的留存状态,即统计主键是否会在子树的计算过程中被过滤,并进行统计归并,得到每种留存状态对应的主键内容;
所述过滤比例计算模块用于计算主键过滤比例:根据给定输入的左外连接约束,构造过滤比例所应满足的线性约束关系,保证与真实的匹配比例相同,在此基础上优化过滤比例以达到均匀过滤;
所述外键生成模块用于根据过滤比例,采用随机抽样的算法,无重复地生成外键,并在处理过程中采用溢写文件的方式,压缩计算数据量,从而保证计算效率。
实施例
主键状态统计:根据给定的查询模板以及数据表结构,首先自底向上计算以左外连接为根节点的查询子树,获得该子树的查询结果,根据这一结果,可以得到数据表中主键是否在查询过程中被除去,即主键的留存状态。使用位图描述主键各列的留存状态,用T表示留存,F表示弃置,并将留存状态相同的元组进行合并,统计占整体的比例及其内容,得到表格如图1T1所示
计算左外连接的约束:首先对数据进行压缩处理。例如,假定左外连接仅考虑状态列C1,C2,则可以压缩状态列C3,将前两列相同的项进行数据合并,如图1T2所示,也即图2T2。
同时结合过滤比例,构造线性约束。例如,若要保证C1中有30%的键值被匹配为NULL,如图2T1所示。且设TT,TF,FT状态的数据中被过滤的比例为X1,X2,X3,则可以得到两个等式约束如下:
0.3*X1+0.25*X2=(0.3+0.25)*0.3 (1) 0.3*X1+0.28*X3=(0.3+0.28)*0.4 (2)
在此基础上,进一步完善约束,增加合法性约束和数据量约束,以保证保留的数据量满足外键所需的数据量。具体约束如下:
0≤X1,X2,X3≤1 (3)
(1-0.3)*X1≤FkNeedSize (4)
(1-0.25)*X2≤FkNeedSize (5)
(1-0.28)*X3≤FkNeedSize (6)
所述FkNeedSize是指主键所需的数量;
根据上述优化目标,即
Figure BDA0003059666880000071
其中,Vj表示第j个状态列为‘保留’的集合,对于一个Vj中的位状态i,αi表示该状态在该状态列下的比例,pi表示第i个主键状态在该状态列下的过滤比例,βj表示第j列全列的过滤比例,M表示状态列数量,αk表示第k个主键状态在该状态列下的比例。
可以构造优化的目标函数如下:
loss=((0.3/0.55)*(X1-0.3))2+((0.25/0.55)*(X2-0.3))2+((0.3/0.58)*(X1-0.4))2+((0.28/0.58)*(X3-0.4))2
求解以上规划问题,得到X1,X2,X3分别为0.347,0.243,0.456,如图2的T3所示。根据得到的概率,可以在对应的留存状态键值中删除对应比例的键值。根据上述得到的过滤比例,可以按比例随机删除表中的键值,以使得最终结果符合生成概率。如图2的T4所示。
生成外键:为了随机无重复地生成外键,程序采用如上所述的算法以构造随机匹配的外键。在构造外键的过程中,为了保证能找到对应的键值,需要保留前一步骤中删除的连接表的键值。但将连接表完全保留是低效的,且在数据量较大时也是困难的。因此,在删除键值的同时,需要同步将被删除的键值移动到一个结构相同的表中进行存储。并在存储表的大小达到一定阈值时将表信息导出到新的文件中,并清空该表。通过这一方式,可以保证内存中的表大小一直处于合适的范围。而当需要使用键值信息时,再逐个读取文件,还原为表。在还原的表中,根据需要无放回的抽取匹配的键值,以保证非NULL。如果耗尽符合状态的键值,则继续导入新的文件,直至完成全部匹配。
本发明从真实应用中提取一系列负载用于展示本发明对左外连接算子的实现。数据特征见下表1:
表1
Figure BDA0003059666880000081
其中,aveLen表示字符串类型数据的平均长度,在主键列中的基数(cardinality)设置为表的大小。在此基础上,本发明实施例生成并收集了左外连接的查询,查询模板见上表中q1。本发明进行了五次实验,获取每次实验生成结果与基数约束的误差,在不同的数据规模下,其平均误差如下表2所示,其中SF为scale factor,用于控制数据规模。可见其基数约束与实际生成负载的误差低于0.1%,与要求高度相似。因此认为本发明有效实现了在有基数约束下的左外连接的数据生成。
表2不同数据规模基数约束平均误差
Figure BDA0003059666880000091
参考文献:
[1]E.Lo,N.Cheng,Wilfred W.K.Lin,et al.MyBenchmark:generatingdatabasesfor query workloads.In VLDBJ,pages 895-913,2014.
[2]Chaitanya Mishra,Nick Koudas,and Calisto Zuzarte.GeneratingTargeted Queries for Database Testing,In SIGMOD,pages 499-510,2008.
[3]Touchstone:Generating Enormous Query-Aware Test Databases.USENIXAnnual Technical Conference 2018:575-586.
[4]Quoc Trung Tran,Chee Yong Chan,and SrinivasanParthasarathy.QueryReverse Engineering.VLDBJ,23(5):721-746,2014.
[5]C.Binnig,D.Kossmann,andE.Lo.Reverse QueryProcessing.In ICDE,pages506-515,2007.
[6]N.Bruno,S.Chaudhuri,and D.Thomas.Generating QuerieswithCardinality Constraints for DBMS Testing.IEEE Trans.Knowl.Data Eng.,18(12):1271-1275,2006.
[7]N.Bruno and S.Chaudhuri.Flexible Database Generators.In VLDB,pages1097-1107,2005.
[8]K.Houkjaer,K.Torp,andR.Wind.Simple andRealistic DataGeneration.InVLDB,pages 1243-1246,2006.
[9]Joseph E.Hoag,and Craig W.Thompson.A Parallel General-PurposeSynthetic Data Generator.In SIGMOD,pages 19-24,2007.
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。

Claims (10)

1.一种支持左外连接的应用驱动数据生成中依赖关系的生成方法,其特征在于,所述方法包括如下步骤:
步骤一、分析主键状态:对于给定的数据库结构及原始查询语句,计算左外连接主键列所在查询子树的查询结果,标记主键的留存状态,并对主键的留存状态进行统计;
步骤二、计算主键过滤比例:根据给定输入的左外连接约束,基于计算规则构造过滤比例所应满足的线性约束关系,在此基础上优化过滤比例以达到均匀过滤;
步骤三、填充外键:根据过滤比例,随机无重复地生成外键,并在处理过程中采用溢写文件的方式压缩计算数据量。
2.如权利要求1所述的方法,其特征在于,步骤一中,所述给定的数据库结构包括数据库表项、表项各列属性、各属性列的数据分布;所述原始查询语句包括查询算子、查询属性列、查询表;计算查询结果包括留存主键、数据规模、主键的具体数据;所述主键的留存状态包括留存、不留存。
3.如权利要求1所述的方法,其特征在于,步骤一中,所述主键的留存状态采用位图的形式保存其结果,并保存为表的形式。
4.如权利要求1所述的方法,其特征在于,步骤二中,所述输入的左外连接约束包括主键留存统计结果和过滤比例;所述主键留存统计结果需要根据左外连接进行压缩,重新合并数据比例,以减少不必要的计算。
5.如权利要求1所述的方法,其特征在于,步骤二中,所述基于计算规则构造的线性约束关系,需保证各列均满足以下条件:在对应列中根据留存比例的加权求和获得的各留存状态的过滤比例与全列的过滤比例相等,即:
Figure FDA0003059666870000011
其中,Vj表示第j个状态列为‘保留’的集合,对于一个Vj中的位状态i,αi表示该状态在该状态列下的比例,pi表示第i个主键状态在该状态列下的过滤比例,βj表示第j列全列的过滤比例;所述状态列是指步骤一中保存的主键留存状态表中的列。
6.如权利要求1所述的方法,其特征在于,步骤二中,所述优化过滤比例的优化目标是最小化真实匹配比例和目标匹配比例的方差,即:
Figure FDA0003059666870000012
其中,Vj表示第j个状态列为‘保留’的集合,对于一个Vj中的位状态i,αi表示该状态在该状态列下的比例,pi表示第i个主键状态在该状态列下的过滤比例,βj表示第j列全列的过滤比例,M表示状态列的数量,αk表示第k个主键状态在该状态列下的比例;所述状态列是指步骤一中保存的主键留存状态表中的列。
7.如权利要求1所述的方法,其特征在于,步骤三中,所述随机无重复地生成外键,采用的是基于Fisher-Yates Shuffle的随机生成算法,此算法的时间复杂度为线性复杂度,且无额外空间开销。
8.如权利要求1所述的方法,其特征在于,步骤三中,所示采用溢写文件的方式压缩计算数据量是指先将连接表中删除的数据转存到另一张结构相同的表中;当存储表容量达到阈值时,将内容顺序导出到文件中,并清空该表。
9.一种实现如权利要求1-8之任一项所述方法的系统,其特征在于,所述系统包括主键统计模块、过滤比例计算模块、外键生成模块。
10.如权利要求9所述的系统,其特征在于,所述主键统计模块用于对于给定的数据库结构及原始查询语句,计算左外连接所在查询子树的查询结果,标记主键的留存状态,并对主键的留存状态进行统计;
所述过滤比例计算模块用于计算主键过滤比例,根据给定输入的左外连接约束,基于计算规则构造过滤比例所应满足的线性约束关系,在此基础上优化过滤比例以达到均匀过滤;
所述外键生成模块用于根据过滤比例,随机无重复地生成外键,并在处理过程中采用溢写文件的方式压缩计算数据量。
CN202110509294.0A 2021-05-11 2021-05-11 支持左外连接的应用驱动数据生成中依赖关系生成方法及系统 Active CN113434540B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110509294.0A CN113434540B (zh) 2021-05-11 2021-05-11 支持左外连接的应用驱动数据生成中依赖关系生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110509294.0A CN113434540B (zh) 2021-05-11 2021-05-11 支持左外连接的应用驱动数据生成中依赖关系生成方法及系统

Publications (2)

Publication Number Publication Date
CN113434540A CN113434540A (zh) 2021-09-24
CN113434540B true CN113434540B (zh) 2022-04-05

Family

ID=77753388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110509294.0A Active CN113434540B (zh) 2021-05-11 2021-05-11 支持左外连接的应用驱动数据生成中依赖关系生成方法及系统

Country Status (1)

Country Link
CN (1) CN113434540B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095522B (zh) * 2015-09-22 2018-09-25 南开大学 基于最近邻搜索的关系表集合外键识别方法
US20180089288A1 (en) * 2016-09-26 2018-03-29 Splunk Inc. Metrics-aware user interface
CN110069523B (zh) * 2017-11-23 2023-08-18 阿里巴巴集团控股有限公司 一种数据查询方法、装置和查询系统
CN112241363B (zh) * 2020-07-03 2021-10-12 华东师范大学 面向分析型数据库的大规模随机负载生成及验证方法及系统

Also Published As

Publication number Publication date
CN113434540A (zh) 2021-09-24

Similar Documents

Publication Publication Date Title
CN106997386B (zh) 一种olap预计算模型、自动建模方法及自动建模系统
US10902022B2 (en) OLAP pre-calculation model, automatic modeling method, and automatic modeling system
CN107622103B (zh) 管理数据查询
US7571182B1 (en) Emulation of a balanced hierarchy from a nonbalanced hierarchy
US11841839B1 (en) Preprocessing and imputing method for structural data
Tamassia et al. Parallel transitive closure and point location in planar structures
Cheung et al. Efficient rule-based attribute-oriented induction for data mining
CN109325062A (zh) 一种基于分布式计算的数据依赖挖掘方法及系统
CN112434024A (zh) 面向关系型数据库的数据字典生成方法、装置、设备及介质
CN108388603A (zh) 基于Spark框架的分布式概要数据结构的构建方法及查询方法
CN105302915B (zh) 基于内存计算的高性能数据处理系统
CN106802787B (zh) 基于GPU排序的MapReduce优化方法
EP0398884A4 (en) A relational database representation with relational database operation capability
Subramanian A fully dynamic data structure for reachability in planar digraphs
CN110389953B (zh) 基于压缩图的数据存储方法、存储介质、存储装置和服务器
CN113434540B (zh) 支持左外连接的应用驱动数据生成中依赖关系生成方法及系统
CN111522819A (zh) 一种树型结构数据汇总的方法及系统
CN109741421A (zh) 一种基于gpu的动态图着色方法
CN112463904B (zh) 一种分布式空间矢量数据与单点空间数据混合分析方法
CN108595588A (zh) 一种科学数据存储关联方法
CN113704565A (zh) 基于全局区间误差的学习型时空索引方法、装置及介质
Dezulian et al. Phylogenetic closure operations and homoplasy-free evolution
CN117390064B (zh) 一种基于可嵌入子图的数据库查询优化方法
CN117131733A (zh) 一种基于虚拟合并策略的超大规模非结构网格生成方法
WO2018048350A1 (en) Cohort data analysis methods and systems and data structures for performing cohort data analysis

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