CN115048469A - 数据查询方法、装置、电子设备及存储介质 - Google Patents
数据查询方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115048469A CN115048469A CN202210590224.7A CN202210590224A CN115048469A CN 115048469 A CN115048469 A CN 115048469A CN 202210590224 A CN202210590224 A CN 202210590224A CN 115048469 A CN115048469 A CN 115048469A
- Authority
- CN
- China
- Prior art keywords
- dimension
- aggregation group
- directed graph
- path
- determining
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000002776 aggregation Effects 0.000 claims abstract description 105
- 238000004220 aggregation Methods 0.000 claims abstract description 105
- 238000013499 data model Methods 0.000 claims abstract description 64
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 abstract description 15
- 230000008569 process Effects 0.000 abstract description 15
- 238000010586 diagram Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000005065 mining Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004141 dimensional analysis Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据查询方法、装置、电子设备及存储介质。方法包括:基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度;根据至少一个设定类型的维度,为每个聚合组对应生成至少一个物化视图;基于生成的物化视图进行数据查询;其中,第一有向图基于至少一个第一关联规则和至少一个第一关联规则中的每个第一关联规则的置信度构建得到。在上述方案中,基于对应的频繁项集和/或有向图进行聚合组的维度类型识别,减少了数据查询过程中维度类型识别耗费的算力与时间,支持处理更多SQL信息从而提高数据查询的精准度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据查询方法、装置、电子设备及存储介质。
背景技术
数据仓库(DW,Data Warehouse)是为了便于多维分析和多角度展现而将数据按特定的模式进行存储所建立起来的关系型数据库,它的数据基于联机事务处理过程(OLTP,OnLine Transaction Processing)***。数据仓库中的数据是细节的、集成的、面向主题的,以联机分析处理(OLAP,Online Analytical Processing)***的分析需求为目的。OLAP的查询需要基于预计算得到的物化视图集(又称为数据立方体,Cube)实现。相关技术中,OLAP的查询精准度低。
发明内容
有鉴于此,本申请实施例提供一种数据查询方法、装置、电子设备及存储介质,以至少解决相关技术存在的OLAP的查询精准度低的问题。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种数据查询方法,所述方法包括:
基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度;
根据至少一个所述设定类型的维度,为每个聚合组对应生成至少一个物化视图;
基于生成的物化视图进行数据查询;其中,
所述第一有向图基于至少一个第一关联规则和所述至少一个第一关联规则中的每个第一关联规则的置信度构建得到;每个第一关联规则表征所述第一有向图对应的聚合组的两个维度的关联规则。
其中,上述方案中,所述基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度,包括:
将聚合组中满足第一设定条件的至少一个维度确定为必须维度类型的维度;其中,
所述第一设定条件表征对应维度在设定SQL信息中出现次数大于第一设定阈值,且属于所述第一频繁项集;所述设定SQL信息用于构建所述设定数据模型。
上述方案中,所述基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度,包括:
将第一维度集合的每个维度确定为联合维度类型的维度;其中,
所述第一维度集合的所有维度可以构成互为相反路径的第一路径和第二路径,且对应的第一差值小于第二设定阈值;所述第一差值表征所述第一路径的权值与所述第二路径的权值之间的差值的绝对值。
上述方案中,所述基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度,包括:
遍历第一有向图,并在遍历所述第一有向图时,将所述第一有向图中满足第二设定条件的第一维度加入第二维度集合后,重新遍历所述第一有向图,直到所述第一有向图中不存在满足所述第二设定条件的维度,将第二维度集合的每个维度确定为层级维度类型的维度;其中,
所述第二设定条件表征对于第二维度集合的任一维度存在指向第一维度的单向路径,且第二维度集合的任一维度与第一维度的关系满足第三设定条件。
上述方案中,所述第三设定条件包括:
在第二维度集合的维度和第一维度之间有且仅有一条单向路径;
和/或,
在第二维度集合的维度和第一维度之间存在第三路径和第四路径的情况下,第二差值大于第三设定阈值;其中,
所述第三路径与所述第四路径互为相反路径;所述第二差值表征所述第三路径的权值与所述第四路径的权值之间的差值的绝对值。
上述方案中,在所述将聚合组中的至少一个维度确定为设定类型的维度之前,所述方法还包括:
基于设定数据模型构建第一无向图;
根据所述第一无向图中的连接关系,确定所述设定数据模型的至少一个聚合组。
上述方案中,在所述根据所述第一无向图中的连接关系,确定所述设定数据模型的至少一个聚合组时,所述方法包括:
将所述第一无向图对应的第三维度集合确定为所述设定数据模型的聚合组;其中,
所述第三维度集合表征所述第一无向图对应的最大连通图的维度集合。
本申请实施例还提供了一种数据查询装置,包括:
第一处理单元,用于基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度;
生成单元,用于根据至少一个所述设定类型的维度,为每个聚合组对应生成至少一个物化视图;
查询单元,用于基于生成的物化视图进行数据查询;其中,
所述第一有向图基于至少一个第一关联规则和所述至少一个第一关联规则中的每个第一关联规则的置信度构建得到;每个第一关联规则表征所述第一有向图对应的聚合组的两个维度的关联规则。
本申请实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行上述数据查询方法的步骤。
本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据查询方法的步骤。
本申请实施例提供的一种数据查询方法、装置、电子设备及存储介质,基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度;根据至少一个设定类型的维度,为每个聚合组对应生成至少一个物化视图;基于生成的物化视图进行数据查询;其中,第一有向图基于至少一个第一关联规则和至少一个第一关联规则中的每个第一关联规则的置信度构建得到;每个第一关联规则表征第一有向图对应的聚合组的两个维度的关联规则。在上述方案中,基于对应的频繁项集和/或有向图进行聚合组的维度类型识别,减少了数据查询过程中维度类型识别耗费的算力与时间,支持处理更多SQL信息从而提高数据查询的精准度。
附图说明
图1为本申请实施例提供的数据查询方法实现流程示意图;
图2为本申请实施例提供的必须维度类型识别流程示意图;
图3为本申请实施例提供的联合维度类型识别流程示意图;
图4为本申请实施例提供的有向图中的路径示意图;
图5为本申请实施例提供的层级维度类型识别流程示意图;
图6为本申请另一实施例提供的有向图中的路径示意图;
图7为本申请应用实施例提供的维度类型识别方法实现流程示意图;
图8为本申请实施例提供的一种数据查询装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
数据立方体(又称为多维模型、物化视图集、Cube)允许多维度的数据建模,它由维度和事实定义。数据立方体不限于三维模型,还可以组合更多维度。对于每一种维度组合,将度量做聚合运算,将运算结果保存为一个物化视图(又称为Cuboid)。所有维度组合的物化视图称为物化视图集,是按维度聚合的物化视图的集合。
数据仓库是为了便于多维分析和多角度展现而将数据按特定的模式进行存储所建立起来的关系型数据库,它的数据基于OLTP***。数据仓库中的数据是细节的、集成的、面向主题的,以OLAP***的分析需求为目的。OLAP的查询需要基于预计算得到的数据立方体实现。相关技术中,OLAP的查询精准度低。
基于此,在本申请的各种实施例中,基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度;根据至少一个设定类型的维度,为每个聚合组对应生成至少一个物化视图;基于生成的物化视图进行数据查询;其中,第一有向图基于至少一个第一关联规则和至少一个第一关联规则中的每个第一关联规则的置信度构建得到;每个第一关联规则表征第一有向图对应的聚合组的两个维度的关联规则。在上述方案中,相较于通过维度的基数计算结果进行维度类型识别,基于对应的频繁项集和/或有向图进行聚合组的维度类型识别,能够减少数据查询过程中维度类型识别耗费的算力与时间,节约出的算力支持电子设备处理更多SQL信息,从而提高数据查询的精准度。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为本申请实施例提供的数据查询方法的实现流程示意图,本申请实施例提供了一种数据查询方法,应用于电子设备,其中,电子设备包括但不限于服务器、终端等电子设备。包括:
步骤101:基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度。
其中,所述第一有向图基于至少一个第一关联规则和所述至少一个第一关联规则中的每个第一关联规则的置信度构建得到;每个第一关联规则表征所述第一有向图对应的聚合组的两个维度的关联规则。
在生成物化视图集的过程中,设定数据模型对应有至少一个聚合组,每个聚合组包括设定数据模型的至少两个维度。对于不包括联合维度类型、层级维度类型、必须维度类型中的任一个维度类型的聚合组情况,本领域技术人员可以采用相应的构建方式构建数据模型,这里并不限定;对于包括联合维度类型、层级维度类型、必须维度类型等中的至少一个维度类型的聚合组,可以利用算法确定每个聚合组对应的第一频繁项集和至少一个第一关联规则,再基于确定出的至少一个第一关联规则和每个第一关联规则的置信度构建第一有向图。设定数据模型表征基于源数据构建的设定数据模型。以设定SQL信息为源数据的场景,可以将每条SQL语句的统计信息转化为一个查询模式,构建数据模型。其中,维度可以表征设定数据模型的数据维度。聚合组表征设定数据模型中设定的维度集合。这里,可以利用频繁模式挖掘算法,例如Apriori、Eclat或FP-Growth,提取设定数据模型涉及的SQL语句统计信息对应的频繁项集和关联规则。
根据聚合组对应的第一频繁项集和/或第一有向图,对聚合组中的维度进行维度类型识别,将至少一个维度确定为设定类型的维度。其中,设定类型能够作为筛选物化视图的条件的维度类型,包括联合维度类型、层级维度类型、必须维度类型中的至少一个。实际应用中,将一个维度确定为必须维度类型的维度,可以使待生成的物化视图数量减半。
在将聚合组中的至少一个维度确定为设定类型的维度之前,可以为设定数据模型设置至少一个聚合组,再为设置的至少一个聚合组中的每个聚合组确定对应的第一频繁项集和/或第一有向图。作为本申请的一个实施例,在所述将聚合组中的至少一个维度确定为设定类型的维度之前,所述方法还包括:
基于设定数据模型构建第一无向图;
根据所述第一无向图中的连接关系,确定所述设定数据模型的至少一个聚合组。
基于构建设定数据模型的SQL语句统计信息,为设定数据模型构建对应的第一无向图,并根据第一无向图中维度之间是否存在连接关系,确定设定数据模型的至少一个聚合组。
利用构建设定数据模型的部分或全部SQL语句统计信息,为设定数据模型构建对应的第一无向图。在构建第一无向图的过程中,在设定数据模型的两个维度出现在同一SQL语句的设定字段的情况下,在第一无向图为这两个维度之间构建一条边,也就是说,为第一无向图中的这两个维度建立连接关系。
这里,第一无向图中的连接关系可以构成对应的连通图,基于连接图的部分或全部节点确定设定数据模型的聚合组。作为本申请的一个实施例,在所述根据所述第一无向图中的连接关系,确定所述设定数据模型的至少一个聚合组时,所述方法包括:
将所述第一无向图对应的第三维度集合确定为所述设定数据模型的聚合组;其中,
所述第三维度集合表征所述第一无向图对应的最大连通图的维度集合。
将第一无向图对应的最大连通图中的所有维度确定为一个聚合组。这里,还可以将第一无向图中不属于连通图的、离散的至少两个维度确定为一个聚合组。
作为本申请的一个实施例,判断聚合组中的维度是否为必须维度类型,参见图2,基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度,包括:
步骤201:将聚合组中满足第一设定条件的至少一个维度确定为必须维度类型的维度。
其中,所述第一设定条件表征对应维度在设定SQL信息中出现次数大于第一设定阈值,且属于所述第一频繁项集;所述设定SQL信息用于构建所述设定数据模型。
判断聚合组中的维度是否满足设定条件,将满足第一设定条件的维度的维度类型确定为必须维度类型。其中,满足第一设定条件的维度属于第一频繁项集,且在构建设定数据模型的设定SQL信息中出现的次数大于第一设定阈值。这里,判断维度在设定SQL信息中出现的次数,可以统计维度在设定SQL信息的每条SQL语句出现的次数。
这里,判断聚合组中的维度是否满足设定条件,可以先筛选出聚合组中属于第一频繁项集的维度,再在这些维度中确定出在设定SQL信息中出现的次数大于第一设定阈值的维度。
相较于通过维度的基数计算结果进行维度类型识别,至少基于对应的频繁项集进行聚合组的必须维度类型识别,能够减少必须维度类型识别耗费的算力。
作为本申请的一个实施例,判断聚合组中的维度是否为联合维度类型,参见图3,基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度,包括:
步骤301:将第一维度集合的每个维度确定为联合维度类型的维度。
其中,所述第一维度集合的所有维度可以构成互为相反路径的第一路径和第二路径,且对应的第一差值小于第二设定阈值;所述第一差值表征所述第一路径的权值与所述第二路径的权值之间的差值的绝对值。
遍历第一有向图,第一有向图中满足设定条件的维度集合为第一维度集合,将第一维度集合的每个维度的维度类型确定为联合维度类型。其中,满足设定条件的第一维度集合中的所有维度,在第一有向图中能够构成双向环路径(互为相反路径),分别为第一路径和第二路径,且第一路径的权值和第二路径的权值之间的差值的绝对值小于第二设定阈值。路径权值可以基于路径中每两个相邻维度对应的第一关联规则的置信度求和结果确定。
以图4所示出的联合维度在有向图中的路径示意图为例,实线为第一路径,虚线为第二路径,第一路径和第二路径互为相反路径。
相较于通过维度的基数计算结果进行维度类型识别,基于对应的有向图进行聚合组的联合维度类型识别,能够减少联合维度类型识别耗费的算力。
作为本申请的一个实施例,判断聚合组中的维度是否为层级维度类型,参见图5,基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度,包括:
步骤501:遍历第一有向图,并在遍历所述第一有向图时,将所述第一有向图中满足第二设定条件的第一维度加入第二维度集合后,重新遍历所述第一有向图,直到所述第一有向图中不存在满足所述第二设定条件的维度,将第二维度集合的每个维度确定为层级维度类型的维度。
其中,所述第二设定条件表征对于第二维度集合的任一维度存在指向第一维度的单向路径,且第二维度集合的任一维度与第一维度的关系满足第三设定条件。
在遍历第一有向图时,判断第一有向图是否存在满足第二设定条件的第一维度,在确定第一有向图存在第一维度的情况下,将这个第一维度加入第二维度集合,并重新遍历第一有向图,直到第一有向图中不存在满足第二设定条件的维度,将第二维度集合的每个维度确定为层级维度类型的维度。其中,在当前遍历第一有向图时,在当前第二维度集合的任一维度都存在指向一个维度的单向路径,且当前第二维度集合的任一维度与第一维度的关系满足第三设定条件的情况下,将这个维度确定为满足第二设定条件的第一维度。
作为本申请的一个实施例,所述第三设定条件包括:
在第二维度集合的维度和第一维度之间有且仅有一条单向路径;
和/或,
在第二维度集合的维度和第一维度之间存在第三路径和第四路径的情况下,第二差值大于第三设定阈值;其中,
所述第三路径与所述第四路径互为相反路径;所述第二差值表征所述第三路径的权值与所述第四路径的权值之间的差值的绝对值。
第三设定条件可以设置为第二维度集合的维度和第一维度之间不存在互为相反路径的两条单向路径,也就是说,第二维度集合的维度与第一维度之间有且仅有一条单向路径。
以图6所示出的层级维度在有向图中的路径示意图为例,黑色填充图形表征第一维度,白色填充图形表征第二维度集合的维度,第二维度集合的任一维度和第一维度之间都不存在互为相反路径的两条路径,有且仅有第二维度集合的维度指向第一维度的单向路径。
第三设定条件可以设置为第二维度集合的维度和第一维度之间存在互为相反路径的两条单向路径,分别为第三路径和第四路径,但这两条路径的权值之间的差值的绝对值大于第三设定阈值。
第三设定条件还可以设置为以上两种判断条件的结合。在第二维度集合的维度和第一维度满足以上两种判断条件之一时,判断满足第三设定条件。
相较于通过维度的基数计算结果进行维度类型识别,基于对应的有向图进行聚合组的层级维度类型识别,能够减少层级维度类型识别耗费的算力。
步骤102:根据至少一个所述设定类型的维度,为每个聚合组对应生成至少一个物化视图。
根据至少一个设定类型的维度,从多个物化视图中筛选出部分待生成的物化视图,并基于设定数据模型生成筛选出的物化视图。这样,减少了需要生成的物化视图数量,实现对物化视图集的剪枝处理。
步骤103:基于生成的物化视图进行数据查询。
基于对设定数据模型预计算生成的物化视图进行数据查询,提高了对设定数据模型的数据查询速度。
在本实施例中,基于对应的频繁项集和/或有向图进行聚合组的维度类型识别,减少了数据查询过程中维度类型识别耗费的算力与时间,节约出的算力支持电子设备处理更多SQL信息,从而提高数据查询的精准度。
下面结合应用实施例对本申请再作进一步详细的描述。
数据仓库中的数据是细节的、集成的、面向主题的,以OLAP***的分析需求为目的。OLAP的查询需要基于预计算得到的数据立方体实现。在数据仓库索引建模过程中,为了实现对数据立方体的剪枝,需要根据设计出的数据模型统计查询历史里出现相关列的基数,利用相关列的基数进行维度类型识别分类,例如利用C(A)=C(A,B)来判断AB是否为层级维度。基数计算这一步骤需要消耗大量集群算力,例如100多个维度的基数计算涉及到千万级数据处理,相应地构建数据立方体也需要等待较长时间。
基于此,本应用实施例提出了一种基于频繁模式挖掘的维度类型识别方案,基于给定的用户历史SQL输入解析得到的统计信息设计数据模型Model,再根据数据模型中所包含的SQL信息,利用频繁模式挖掘算法提取频繁项集与关联规则,根据提取的信息对维度进行区分。图7示出了本申请应用实施例提供的维度类型识别方法实现流程示意图,具体步骤如下:
1、设置聚合组。
利用图算法,将在数据模型中出现的维度作为点,若任意两点出现在同一个SQL语句的select、groupby和where字段中,则为这两点增加一条边,由此构建一张无向图。最终返回无向图中的所有最大连通图作为聚合组。此外所有离散点将集合到一起作为一个聚合组。
这里,聚合组是用户根据自己关注的维度组合可以划分出的自己关注的组合大类,这些大类在Apache Kylin里面被称为聚合组。
2、提取关联规则与频繁项集。
根据每个数据模型中涉及到的SQL信息,利用频繁模式挖掘算法提取频繁项集与关联规则(如Apriori,Eclat,FP-Growth等算法),并在根据关联规则以及关联规则的置信度构建有向图,有向图的一些路径可用于区分维度种类。
其中,提取的关联规则可以为强关联规则,即满足最小支持度和最小置信度的关联规则。
这里,频繁模式挖掘算法有支持度和置信度两个概念,都是在执行算法之前自己设定的,在每一次迭代过程后,大于支持度的项集被保留为频繁项集,最后生成的规则由最终的频繁项集组成。支持度:support(A)=P(A),表示A出现的概率。support(A=>B)=P(A∪B),表示A和B同时出现的概率。置信度:confidence(A=>B)=support(A∪B)/support(A),表示A和B同时出现的概率占A出现概率的比值。频繁项集:设U={u1,u2,...,un}为项目的集合,且UI,对于给定的最小支持度min_sup,如果项集U的支持度support(U)≧min_sup,则称U为频繁项集,否则,U为非频繁项集。关联规则:关联规则是形如X=>Y的蕴含式,其中X、Y分别是I的真子集,并且X称为规则的前提,Y称为规则的结果。关联规则反映X中的项目出现时,Y中的项目也跟着出现的规律。
3、确定必须维度。
输入为聚合组包含维度、频繁项集和设定阈值。首先维度必须在频繁项集中,其次聚合组每个包含维度会计算在SQL语句中出现频次的分数,若大于一定阈值则将对应的维度设置为必须维度,并且将设置为必须维度从有向图中删除,其余作为普通维度返回。
这里,用户有时会对某一个或几个维度特别感兴趣,所有的查询请求中都存在group by这个维度,这个维度就被称为必须维度。
4、计算联合维度。
输入为必须维度返回的普通维度、根据关联规则产生的有向图和设定阈值。在有向图中遍历是否存在双向环的路径,并且互为相反路径的权值之差的绝对值小于阈值;如有并且包含在必须维度返回的普通维度中,那么就被设置为联合维度,并且将设置的维度从有向图中删除,其余作为普通维度返回。
这里,用户有时并不关心维度之间各种细节的组合方式,例如用户的查询语句中如果会出现则仅仅会出现group by A,B,C,而不会出现group by A,B或者group by C等等这些细化的维度组合,这些维度称为联合维度。
5、计算层级维度。
输入为联合维度返回的普通维度、根据关联规则产生的有向图和设定阈值。在有向图中遍历是否存在如图6所示的特定路径,即对于已经加入维度集合的任一维度和特定维度之间均存在直接连通的单向路径,且维度集合的维度和特定维度之间不存在相反路径或存在相反路径但对应权值的差值的绝对值大于设定阈值。如有满足条件的特定维度,并且特定维度包含在联合维度返回的普通维度中,将特定维度加入维度组合,直到遍历至不存在特定维度,将更新的维度组合设置为层级维度,其余作为普通维度返回。
这里,用户选择的维度中常常会出现具有层级关系的维度,这些维度称为层级维度。例如,对于国家、省份和城市这三个维度,从上而下来说国家/省份/城市之间分别是一对多的关系。
本应用实施例旨在利用频繁模式挖掘算法对维度进行区分,利用频繁项集与关联规则实现对维度的划分,避免非常耗时的基数计算,大幅提高构建数据模型和数据立方体的速度。本应用实施例的方案构建数据立方体的时间极短,10000条SQL语句信息的提取规则时间仅为0.1323s。而通常涉及上百个维度的单列以及双列基数的计算需要十几分钟,在执行速度上有着四个数量集上的提升,这使得一次索引推荐中处理更多数量的SQL信息,提高数据查询的精准度。
为实现本申请实施例的方法,本申请实施例还提供了一种数据查询装置,如图8所示,该装置包括:
第一处理单元801,用于基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度;
生成单元802,用于根据至少一个所述设定类型的维度,为每个聚合组对应生成至少一个物化视图;
查询单元803,用于基于生成的物化视图进行数据查询;其中,
所述第一有向图基于至少一个第一关联规则和所述至少一个第一关联规则中的每个第一关联规则的置信度构建得到;每个第一关联规则表征所述第一有向图对应的聚合组的两个维度的关联规则。
其中,在一个实施例中,所述第一处理单元801,用于:
将聚合组中满足第一设定条件的至少一个维度确定为必须维度类型的维度;其中,
所述第一设定条件表征对应维度在设定SQL信息中出现次数大于第一设定阈值,且属于所述第一频繁项集;所述设定SQL信息用于构建所述设定数据模型。
在一个实施例中,所述第一处理单元801,用于:
将第一维度集合的每个维度确定为联合维度类型的维度;其中,
所述第一维度集合的所有维度可以构成互为相反路径的第一路径和第二路径,且对应的第一差值小于第二设定阈值;所述第一差值表征所述第一路径的权值与所述第二路径的权值之间的差值的绝对值。
在一个实施例中,所述第一处理单元801,用于:
遍历第一有向图,并在遍历所述第一有向图时,将所述第一有向图中满足第二设定条件的第一维度加入第二维度集合后,重新遍历所述第一有向图,直到所述第一有向图中不存在满足所述第二设定条件的维度,将第二维度集合的每个维度确定为层级维度类型的维度;其中,
所述第二设定条件表征对于第二维度集合的任一维度存在指向第一维度的单向路径,且第二维度集合的任一维度与第一维度的关系满足第三设定条件。
在一个实施例中,所述第三设定条件包括:
在第二维度集合的维度和第一维度之间有且仅有一条单向路径;
和/或,
在第二维度集合的维度和第一维度之间存在第三路径和第四路径的情况下,第二差值大于第三设定阈值;其中,
所述第三路径与所述第四路径互为相反路径;所述第二差值表征所述第三路径的权值与所述第四路径的权值之间的差值的绝对值。
在一个实施例中,所述装置还包括:
第二处理单元,用于在所述第一处理单元801将聚合组中的至少一个维度确定为设定类型的维度之前,基于设定数据模型构建第一无向图;根据所述第一无向图中的连接关系,确定所述设定数据模型的至少一个聚合组。
在一个实施例中,所述第二处理单元,用于:
将所述第一无向图对应的第三维度集合确定为所述设定数据模型的聚合组;
其中,
所述第三维度集合表征所述第一无向图对应的最大连通图的维度集合。
实际应用时,所述第一处理单元801、所述生成单元802、所述查询单元803、所述第二处理单元可由基于数据查询装置中的处理器,比如中央处理器(CPU,CentralProcessing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable Gate Array)等实现。
需要说明的是:上述实施例提供的数据查询装置在进行数据查询时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据查询装置与数据查询方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例数据查询方法,本申请实施例还提供了一种电子设备。图9为本申请实施例电子设备的硬件组成结构示意图,如图9所示,电子设备包括:
通信接口1,能够与其它设备比如网络设备等进行信息交互;
处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的方法。而所述计算机程序存储在存储器3上。
当然,实际应用时,电子设备中的各个组件通过总线***4耦合在一起。可理解,总线***4用于实现这些组件之间的连接通信。总线***4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线***4。
本申请实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器2旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
处理器2执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、电子设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
可以理解的是,在本申请实施例中,涉及到用户信息的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。除非另有说明和限定,术语“连接”应做广义理解,例如,可以是电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
另外,在本申请实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解“第一\第二\第三”区分的对象在适当情况下可以互换,以使这里描述的本申请的实施例可以除了在这里图示或描述的那些以外的顺序实施。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一个”表示多个中的任意一个或多个中的至少两个的任意组合,例如,包括A、B、C中的至少一个,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
在具体实施方式中所描述的各个实施例中的各个具体技术特征,在不矛盾的情况下,可以进行各种组合,例如通过不同的具体技术特征的组合可以形成不同的实施方式,为了避免不必要的重复,本申请中各个具体技术特征的各种可能的组合方式不再另行说明。
Claims (10)
1.一种数据查询方法,其特征在于,所述方法包括:
基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度;
根据至少一个所述设定类型的维度,为每个聚合组对应生成至少一个物化视图;
基于生成的物化视图进行数据查询;其中,
所述第一有向图基于至少一个第一关联规则和所述至少一个第一关联规则中的每个第一关联规则的置信度构建得到;每个第一关联规则表征所述第一有向图对应的聚合组的两个维度的关联规则。
2.根据权利要求1所述的方法,其特征在于,所述基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度,包括:
将聚合组中满足第一设定条件的至少一个维度确定为必须维度类型的维度;其中,
所述第一设定条件表征对应维度在设定SQL信息中出现次数大于第一设定阈值,且属于所述第一频繁项集;所述设定SQL信息用于构建所述设定数据模型。
3.根据权利要求1所述的方法,其特征在于,所述基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度,包括:
将第一维度集合的每个维度确定为联合维度类型的维度;其中,
所述第一维度集合的所有维度可以构成互为相反路径的第一路径和第二路径,且对应的第一差值小于第二设定阈值;所述第一差值表征所述第一路径的权值与所述第二路径的权值之间的差值的绝对值。
4.根据权利要求1所述的方法,其特征在于,所述基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度,包括:
遍历第一有向图,并在遍历所述第一有向图时,将所述第一有向图中满足第二设定条件的第一维度加入第二维度集合后,重新遍历所述第一有向图,直到所述第一有向图中不存在满足所述第二设定条件的维度,将第二维度集合的每个维度确定为层级维度类型的维度;其中,
所述第二设定条件表征对于第二维度集合的任一维度存在指向第一维度的单向路径,且第二维度集合的任一维度与第一维度的关系满足第三设定条件。
5.根据权利要求4所述的方法,其特征在于,所述第三设定条件包括:
在第二维度集合的维度和第一维度之间有且仅有一条单向路径;
和/或,
在第二维度集合的维度和第一维度之间存在第三路径和第四路径的情况下,第二差值大于第三设定阈值;其中,
所述第三路径与所述第四路径互为相反路径;所述第二差值表征所述第三路径的权值与所述第四路径的权值之间的差值的绝对值。
6.根据权利要求1至5任一项所述的方法,其特征在于,在所述将聚合组中的至少一个维度确定为设定类型的维度之前,所述方法还包括:
基于设定数据模型构建第一无向图;
根据所述第一无向图中的连接关系,确定所述设定数据模型的至少一个聚合组。
7.根据权利要求6所述的方法,其特征在于,在所述根据所述第一无向图中的连接关系,确定所述设定数据模型的至少一个聚合组时,所述方法包括:
将所述第一无向图对应的第三维度集合确定为所述设定数据模型的聚合组;其中,
所述第三维度集合表征所述第一无向图对应的最大连通图的维度集合。
8.一种数据查询装置,其特征在于,包括:
第一处理单元,用于基于设定数据模型的每个聚合组对应的第一频繁项集和/或第一有向图,将聚合组中的至少一个维度确定为设定类型的维度;
生成单元,用于根据至少一个所述设定类型的维度,为每个聚合组对应生成至少一个物化视图;
查询单元,用于基于生成的物化视图进行数据查询;其中,
所述第一有向图基于至少一个第一关联规则和所述至少一个第一关联规则中的每个第一关联规则的置信度构建得到;每个第一关联规则表征所述第一有向图对应的聚合组的两个维度的关联规则。
9.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行权利要求1至7任一项所述方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210590224.7A CN115048469A (zh) | 2022-05-26 | 2022-05-26 | 数据查询方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210590224.7A CN115048469A (zh) | 2022-05-26 | 2022-05-26 | 数据查询方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115048469A true CN115048469A (zh) | 2022-09-13 |
Family
ID=83158932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210590224.7A Pending CN115048469A (zh) | 2022-05-26 | 2022-05-26 | 数据查询方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115048469A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116108076A (zh) * | 2023-04-10 | 2023-05-12 | 之江实验室 | 物化视图查询方法、***、设备及存储介质 |
CN118152432A (zh) * | 2024-05-07 | 2024-06-07 | 中邮消费金融有限公司 | 数据库查询方法、设备、存储介质及计算机程序产品 |
-
2022
- 2022-05-26 CN CN202210590224.7A patent/CN115048469A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116108076A (zh) * | 2023-04-10 | 2023-05-12 | 之江实验室 | 物化视图查询方法、***、设备及存储介质 |
CN116108076B (zh) * | 2023-04-10 | 2023-07-18 | 之江实验室 | 物化视图查询方法、***、设备及存储介质 |
CN118152432A (zh) * | 2024-05-07 | 2024-06-07 | 中邮消费金融有限公司 | 数据库查询方法、设备、存储介质及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lian et al. | Monochromatic and bichromatic reverse skyline search over uncertain databases | |
Har-Peled et al. | Approximate nearest neighbor: Towards removing the curse of dimensionality | |
US8290931B2 (en) | Database designer | |
CN112269792B (zh) | 数据查询方法、装置、设备及计算机可读存储介质 | |
Rao et al. | Spatial hierarchy and OLAP-favored search in spatial data warehouse | |
CN115048469A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
US20080313184A1 (en) | Multidimensional analysis tool for high dimensional data | |
CN111159184A (zh) | 元数据追溯方法、装置及服务器 | |
Oussous et al. | NoSQL databases for big data | |
CN113157943A (zh) | 面向大规模金融知识图谱的分布式存储及可视化查询处理方法 | |
Zhu et al. | Top-k spatial joins | |
CN115905630A (zh) | 一种图数据库查询方法、装置、设备及存储介质 | |
Xie et al. | Query log compression for workload analytics | |
Davardoost et al. | An innovative model for extracting olap cubes from nosql database based on scalable naïve bayes classifier | |
Wen et al. | Computing k-cores in large uncertain graphs: An index-based optimal approach | |
CN114490724A (zh) | 处理数据库查询语句的方法和装置 | |
Yang et al. | A dynamic balanced quadtree for real-time streaming data | |
Cheng et al. | Generic cumulative annular bucket histogram for spatial selectivity estimation of spatial database management system | |
Wenwen | [Retracted] Building an Urban Smart Community System Based on Association Rule Algorithms | |
Borodin et al. | Analysis of multidimensional data with high dimensionality: data access problems and possible solutions | |
CN114943004B (zh) | 属性图查询方法、属性图查询装置以及存储介质 | |
Álvarez-García et al. | Compressed vertical partitioning for full-in-memory rdf management | |
Mullapudi | Schema Migration from Relational Databases to NoSQL Databases with Graph Transformation and Selective Denormalization | |
EP4386574A1 (en) | Data structure for efficient graph database storage | |
Lübcke et al. | Automated query interface for hybrid relational architectures |
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 |