CN113220719A - 一种海量维度数据关联查询优化方法及系统 - Google Patents
一种海量维度数据关联查询优化方法及系统 Download PDFInfo
- Publication number
- CN113220719A CN113220719A CN202110625823.3A CN202110625823A CN113220719A CN 113220719 A CN113220719 A CN 113220719A CN 202110625823 A CN202110625823 A CN 202110625823A CN 113220719 A CN113220719 A CN 113220719A
- Authority
- CN
- China
- Prior art keywords
- data
- dimension
- task
- fragment
- association
- 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 29
- 238000005457 optimization Methods 0.000 title claims abstract description 20
- 239000012634 fragment Substances 0.000 claims abstract description 46
- 238000001914 filtration Methods 0.000 claims abstract description 32
- 238000013500 data storage Methods 0.000 claims description 5
- 238000011045 prefiltration Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- 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/23—Updating
-
- 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/25—Integrating or interfacing systems involving database management systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种海量维度数据关联查询优化方法及系统,包括数据写入步骤:将维度表数据写入到不同的分片表中;任务对应步骤:启动多个任务,每个任务对应一个或者多个分片表;数据查询步骤:多个任务分别查询对应的分片表的数据;数据合并步骤:将多个任务查询到的数据结果进行合并;数据输出步骤:输出合并的数据。本发明优化了海量维度数据关联查询的性能。通过预过滤维度表字段,加速基于维度表字段的过滤的关联。分任务处理关联查询,每个任务只处理自己所需部分的数据。预过滤分片减少后续步骤处理的数据量。事实表支持多个维度表的关联,事实表可在保证全表扫描的性能的情况下,进行快速的维度关联。能很好的处理以星形模型组织的数据。
Description
技术领域
本发明涉及数据处理领域,具体地,涉及一种海量维度数据关联查询优化方法及系统。
背景技术
在一些联机分析处理(OLAP)中,基于大宽表的存储方案有时不能满足需求,比如需要更新维度信息时,更新所有的数据的代价太过昂贵。又或者冗余数据过多导致数据写入性能达不到要求,或者磁盘占用较多。在一些场景中我们仍然不可避免的需要使用关联查询。在现有的OLAP系统中已经提供了一些优化方案,比如基于内存的字典表等。但还是无法很好的应对海量数据的关联场景。
专利文献为CN110704698A的发明专利公开了一种非结构化海量网络安全数据的关联及查询方法,包括如下步骤:建立二级索引并基于二级索引进行海量网络安全数据快速查询,完成网络安全数据的初次关联;基于网络安全数据可信度值进行迭代计算,实现所述网络安全数据的关联;对实现了关联的所述网络安全数据进行有效性判定;用户通过数据查询接口提交数据查询任务,查询已经建立的所述二级索引数据,获取所述数据关联任务对应的数据主键值,通过该数据主键值查询所述网络安全数据库的关联数据表,获取对应的网络安全数据及其关联数据。本发明明显提高了对于海量互联网用户信息,或者与海量互联网用户信息数据关联的效率,保证了网络安全数据关联结果的有效性、准确性。上述方案使用主键关联,所有数据都是对应的单一实体,二级索引指的是特征值到主键,目的是实现关联的功能。是单一的关联查询任务。无法减少关联任务的数据量。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种海量维度数据关联查询优化方法及系统。
根据本发明提供的一种海量维度数据关联查询优化方法,包括如下步骤:
数据写入步骤:将维度表数据写入到不同的分片表中;
任务对应步骤:启动多个任务,每个任务对应一个或者多个分片表;
数据查询步骤:多个任务分别查询对应的分片表的数据;
数据合并步骤:将多个任务查询到的数据结果进行合并;
数据输出步骤:输出合并的数据。
优选地,还包括事实表数据查询步骤:调用数存储的据库对事实表的数据进行查询。
优选地,还包括关联过滤步骤:基于每个任务对应的分片表过滤出事实表的信息进行关联,事实表创建关联字段的索引,并根据任务的分片信息,进行数据过滤。
优选地,还包括预过滤步骤:对不同的分片表进行预过滤,再将任务对应过滤后的分片表。
优选地,每个任务对应的分片表的数量由并行参数决定。
根据本发明提供的一种海量维度数据关联查询优化系统,包括如下模块:
数据写入模块:将维度表数据写入到不同的分片表中;
任务对应模块:启动多个任务,每个任务对应一个或者多个分片表;
数据查询模块:多个任务分别查询对应的分片表的数据;
数据合并模块:将多个任务查询到的数据结果进行合并;
数据输出模块:输出合并的数据。
优选地,还包括事实表数据查询模块:调用数存储的据库对事实表的数据进行查询。
优选地,还包括关联过滤模块:基于每个任务对应的分片表过滤出事实表的信息进行关联,事实表创建关联字段的索引,并根据任务的分片信息,进行数据过滤。
优选地,还包括预过滤模块:对不同的分片表进行预过滤,再将任务对应过滤后的分片表。
优选地,每个任务对应的分片表的数量由并行参数决定。
与现有技术相比,本发明具有如下的有益效果:
1、本发明优化了海量维度数据关联查询的性能。
2、本发明通过预过滤维度表字段,加速基于维度表字段的过滤的关联。
3、本发明分任务处理关联查询,每个任务只处理自己所需部分的数据。
4、本发明预过滤分片,减少后续步骤处理的数据量。
5、本发明事实表支持多个维度表的关联,事实表可在保证全表扫描的性能的情况下,进行快速的维度关联。
6、本发明能够很好的处理以星形模型组织的数据。
7、本发明在保证数据保证更新能力的情况下,能够对于海量数据的维度关联查询和统计提供很好的性能。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为海量维度数据关联查询优化方法的数据写入示意图。
图2为海量维度数据关联查询优化方法的关联查询示意图。
图3为海量维度数据关联查询优化方法的预过滤关联查询示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
如图1至图3所示,根据本发明提供的一种海量维度数据关联查询优化方法及系统,主要优化维度表的关联查询,通过分片和索引进行关联,减少每个关联任务处理的数据量。根据上述思路,本发明有一个限制:对于两个表之间,仅支持单个字段的哈希关联。由于星形模型的维度表的关联基本都是根据单个字段的id,所有本方法在该场景下是普遍适用的。
本发明包括以下步骤:
步骤1:数据写入
数据写入由一个写入代理程序负责,该程序维护了所有的分片表信息,不同分片的维度信息会保留在元数据中。当维度表数据插入或修改时,该程序会直接修改该数据所在的分片表,进行数据的插入或者查询。当进行批量插入时,数据会先进行分组,后再批量插入不同的分片表中。对于未分片的主表,代理程序会直接调用数据库的插入和更新指令。
步骤2:数据查询
数据查询可简单分为以下五种情况:
1)主表的数据查询
2)维度表的数据查询
3)主表关联维度表的数据查询
4)主表关联维度表并过滤维度数据的查询
5)查询结果和维度表关联查询
6)以上四种的组合
步骤2.1:主表的数据查询
查询主表数据时,由于主表未进行分片存储,查询会直接调用存储的数据库进行查询。
步骤2.2:维度表的数据查询
维度表按照主键进行分片,所以对于维度表的查询语句会应用在不同的分片上,可以由一个分片一个任务,或多个分片一个任务(具体数量由并行度参数决定)。不同的任务并行处理,最后进行数据合并。该查询支持基于维度的过滤,以及基于主键分组的数据统计。由于维度表一般存储维度数据,我们暂不考虑在维度表存储指标数据的统计行为。
步骤2.3:主表关联维度表的数据查询
如图2所示,为该步骤的示意图。当进行维度字段的关联查询时,程序会启动多个任务进行数据关联操作,每个任务可对应到一个或多个维度表的数据分片(具体数量由并行度参数决定),然后根据数据分片过滤出事实表的信息进行关联。事实表会创建关联字段的索引,并根据任务的分片信息,进行数据过滤。所以每个任务都能过滤掉大部分该任务本身不需要处理的数据,该方法在分布式场景中能显著减少网联传输的数据量,以及每个关联任务所处理的数据量。
步骤2.4:主表关联维度表并过滤维度数据的查询
当对数据进行维度过滤时,会优先生成预过滤(prefilter)步骤进行分片过滤,再使用步骤2.3的逻辑进行数据过滤及之后的查询。
如果可以过滤掉部分结果,关联任务将只处理一部分的分片数据,提升查询性能。
步骤2.5:查询结果和维度表关联查询
在复杂的查询语句中,可能存在一些情况,比如事实表按维度进行统计过滤后再进行关联,或者事实表关联了多张维度表。对于这些情况,我们首先进行识别是否能把分片过滤条件下推到上个查询中,如果可以则采用2.3或2.4步骤处理。否则,先查询维度表数据,然后对查询进行哈希关联。
步骤2.5:组合查询
对于以上查询的组合模式,将分解为之前的5种模式,并采用2.1-2.5的步骤进行处理,并合并结果。
本发明还提供一种海量维度数据关联查询优化系统,包括数据写入模块:将维度表数据写入到不同的分片表中;任务对应模块:启动多个任务,每个任务对应一个或者多个分片表;数据查询模块:多个任务分别查询对应的分片表的数据;数据合并模块:将多个任务查询到的数据结果进行合并;数据输出模块:输出合并的数据。还包括事实表数据查询模块:调用数存储的据库对事实表的数据进行查询。还包括关联过滤模块:基于每个任务对应的分片表过滤出事实表的信息进行关联,事实表创建关联字段的索引,并根据任务的分片信息,进行数据过滤。还包括预过滤模块:对不同的分片表进行预过滤,再将任务对应过滤后的分片表。每个任务对应的分片表的数量由并行参数决定。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (10)
1.一种海量维度数据关联查询优化方法,其特征在于,包括如下步骤:
数据写入步骤:将维度表数据写入到不同的分片表中;
任务对应步骤:启动多个任务,每个任务对应一个或者多个分片表;
数据查询步骤:多个任务分别查询对应的分片表的数据;
数据合并步骤:将多个任务查询到的数据结果进行合并;
数据输出步骤:输出合并的数据。
2.根据权利要求1所述的海量维度数据关联查询优化方法,其特征在于,还包括事实表数据查询步骤:调用数存储的据库对事实表的数据进行查询。
3.根据权利要求1所述的海量维度数据关联查询优化方法,其特征在于,还包括关联过滤步骤:基于每个任务对应的分片表过滤出事实表的信息进行关联,事实表创建关联字段的索引,并根据任务的分片信息,进行数据过滤。
4.根据权利要求1所述的海量维度数据关联查询优化方法,其特征在于,还包括预过滤步骤:对不同的分片表进行预过滤,再将任务对应过滤后的分片表。
5.根据权利要求1所述的海量维度数据关联查询优化方法,其特征在于,每个任务对应的分片表的数量由并行参数决定。
6.一种海量维度数据关联查询优化系统,其特征在于,包括如下模块:
数据写入模块:将维度表数据写入到不同的分片表中;
任务对应模块:启动多个任务,每个任务对应一个或者多个分片表;
数据查询模块:多个任务分别查询对应的分片表的数据;
数据合并模块:将多个任务查询到的数据结果进行合并;
数据输出模块:输出合并的数据。
7.根据权利要求6所述的海量维度数据关联查询优化系统,其特征在于,还包括事实表数据查询模块:调用数存储的据库对事实表的数据进行查询。
8.根据权利要求6所述的海量维度数据关联查询优化系统,其特征在于,还包括关联过滤模块:基于每个任务对应的分片表过滤出事实表的信息进行关联,事实表创建关联字段的索引,并根据任务的分片信息,进行数据过滤。
9.根据权利要求6所述的海量维度数据关联查询优化系统,其特征在于,还包括预过滤模块:对不同的分片表进行预过滤,再将任务对应过滤后的分片表。
10.根据权利要求6所述的海量维度数据关联查询优化系统,其特征在于,每个任务对应的分片表的数量由并行参数决定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110625823.3A CN113220719A (zh) | 2021-06-04 | 2021-06-04 | 一种海量维度数据关联查询优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110625823.3A CN113220719A (zh) | 2021-06-04 | 2021-06-04 | 一种海量维度数据关联查询优化方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113220719A true CN113220719A (zh) | 2021-08-06 |
Family
ID=77082885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110625823.3A Pending CN113220719A (zh) | 2021-06-04 | 2021-06-04 | 一种海量维度数据关联查询优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220719A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115495479A (zh) * | 2022-10-20 | 2022-12-20 | 深圳市雁联计算系统有限公司 | 字段可变的数据查询方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104063376A (zh) * | 2013-03-18 | 2014-09-24 | 阿里巴巴集团控股有限公司 | 多维度分组运算方法及系统 |
CN104166740A (zh) * | 2014-09-10 | 2014-11-26 | 税友软件集团股份有限公司 | 一种数据查询方法及装置 |
CN106484875A (zh) * | 2016-10-13 | 2017-03-08 | 广州视源电子科技股份有限公司 | 基于molap的数据处理方法及装置 |
CN107515899A (zh) * | 2017-07-24 | 2017-12-26 | 北京国电通网络技术有限公司 | 数据库联合分片方法、装置以及存储介质 |
CN110704698A (zh) * | 2019-12-13 | 2020-01-17 | 中国人民解放军国防科技大学 | 一种非结构化海量网络安全数据的关联及查询方法 |
CN111930817A (zh) * | 2020-07-28 | 2020-11-13 | 银盛支付服务股份有限公司 | 一种基于大数据的分布式非结构化数据库关联查询方法 |
-
2021
- 2021-06-04 CN CN202110625823.3A patent/CN113220719A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104063376A (zh) * | 2013-03-18 | 2014-09-24 | 阿里巴巴集团控股有限公司 | 多维度分组运算方法及系统 |
CN104166740A (zh) * | 2014-09-10 | 2014-11-26 | 税友软件集团股份有限公司 | 一种数据查询方法及装置 |
CN106484875A (zh) * | 2016-10-13 | 2017-03-08 | 广州视源电子科技股份有限公司 | 基于molap的数据处理方法及装置 |
CN107515899A (zh) * | 2017-07-24 | 2017-12-26 | 北京国电通网络技术有限公司 | 数据库联合分片方法、装置以及存储介质 |
CN110704698A (zh) * | 2019-12-13 | 2020-01-17 | 中国人民解放军国防科技大学 | 一种非结构化海量网络安全数据的关联及查询方法 |
CN111930817A (zh) * | 2020-07-28 | 2020-11-13 | 银盛支付服务股份有限公司 | 一种基于大数据的分布式非结构化数据库关联查询方法 |
Non-Patent Citations (1)
Title |
---|
谢向东等: "《大数据预处理技术》", 31 January 2020, 浙江科学技术出版社 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115495479A (zh) * | 2022-10-20 | 2022-12-20 | 深圳市雁联计算系统有限公司 | 字段可变的数据查询方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2663358C2 (ru) | Устройство и способ кластерного хранения | |
EP2080121B1 (en) | Managing storage of individually accessible data units | |
WO2017019879A1 (en) | Multi-query optimization | |
US20090287986A1 (en) | Managing storage of individually accessible data units | |
CN109325032B (zh) | 一种索引数据存储及检索方法、装置及存储介质 | |
US20100318498A1 (en) | Methods and apparatus for organizing data in a database | |
CN110597844B (zh) | 异构数据库数据统一访问方法及相关设备 | |
CN109086456B (zh) | 数据索引方法及装置 | |
US11222015B2 (en) | Helper scan in a database management system | |
CN115964374B (zh) | 一种基于预计算场景的查询处理方法及其装置 | |
US20200226116A1 (en) | Fast index creation system for cloud big data database | |
CN111966654A (zh) | 一种基于Trie字典树的混合过滤器 | |
US8396858B2 (en) | Adding entries to an index based on use of the index | |
CN113220719A (zh) | 一种海量维度数据关联查询优化方法及系统 | |
EP3629206A1 (en) | Code duplicate identification method for converting source code into numeric identifiers and comparison against large data sets | |
CN114461675A (zh) | 基于kv存储的部分索引实现方法及系统 | |
CN113360495B (zh) | 一种数据库查询中断的恢复方法、装置、设备及可读介质 | |
CN110413617B (zh) | 一种根据数据量的大小动态调节哈希表组的方法 | |
CN113032400B (zh) | 海量数据的高性能TopN查询方法、系统及介质 | |
CN112527900A (zh) | 一种数据库读多副本一致性的方法、装置、设备及介质 | |
CN113177044B (zh) | 一种基于数据库b树快速对比数据的方法和装置 | |
US10866942B1 (en) | Cascaded indexing of multidimensional data | |
CN109815270B (zh) | 一种关系计算的方法、装置、计算机存储介质及终端 | |
CN116644091A (zh) | 数据查询方法、装置、计算设备及存储介质 | |
CN117312363A (zh) | 关系型数据库访问语句转换方法及应用系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210806 |
|
RJ01 | Rejection of invention patent application after publication |