用于并行数据库的数据查询方法和装置制造方法及图纸

技术编号:14244081 阅读:84 留言:0更新日期:2016-12-21 23:35
本发明专利技术公开了一种用于并行数据库的数据查询方法和装置,该方法包括:在各个数据库节点上对目标数据表按照目标数据表与其他数据表之间的相应关联字段分别进行目标数据的分组聚合;在各个数据库节点上对相应的分组聚合结果和相应的其他数据表按照相应的关联字段分别进行哈希方式的数据重划分;将各个数据库节点的分组聚合结果的数据重划分结果和其他数据表的数据重划分结果均汇总到一个目标数据库节点;在目标数据库节点上对分组聚合结果的数据重划分结果和其他数据表的数据重划分结果进行目标数据的连接聚合。本发明专利技术能够实现数据的聚合查询,同时调高查询的并行性,提升集群的资源利用率,并降低网络开销,提高查询的性能。

【技术实现步骤摘要】

本专利技术涉及并行数据库领域,具体来说,涉及一种用于并行数据库的数据查询方法和装置
技术介绍
随着大数据时代到来,与传统数据分析相比,现在遇到更大的挑战,一方面是数据量的爆炸式增长,另一方面是数据类型的增加。面对这些挑战,Hadoop(一个由Apache基金会所开发的分布式系统基础架构)应运而生,解决了离线数据分析的难题,但对于实时的数据分析要求,Hadoop因为自身的特点,并不能在这一领域应用;因此并行数据库依然是实时结构化数据分析的主要工具。在并行数据库系统中,聚合和关联查询是进行数据分析的主要方法,而大部分的分析将同时涉及到多张大表的连接和聚合。本专利主要是对Share-Nothing结构下的并行数据库的连接聚合查询优化进行说明。连接查询是将多张有关联的表通过关联字段进行连接,常用于关联事务数据的相关维度信息,聚合查询是一种对数据进行汇总、统计分析的查询方式,常用于进行报表统计。并行数据库的查询设计到集群中的多个数据库节点,如果直接在各节点上进行连接聚合查询,最终会得到一个错误的不可用结果集。为保证结果集的正确定,现在的并行数据库对聚合查询的执行方式,主要是通过将数据汇聚到一个节点进行聚合,但是这种方式也带来了一个问题是数据的汇聚过程会大大增加网络的通信开销,最终影响查询的性能。针对相关技术中的上述问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中的上述问题,本专利技术提出一种用于并行数据库的数据查询方法和装置,能够实现数据的聚合查询,同时调高查询的并行性,提升集群的资源利用率,并降低网络开销,提高查询的性能。本专利技术的技术方案是这样实现的:根据本专利技术的一个方面,提供了一种用于并行数据库的数据查询方法。该数据查询方法包括:在各个数据库节点上对目标数据表按照目标数据表与其他数据表之间的相应关联字段分别进行目标数据的分组聚合;在各个数据库节点上对相应的分组聚合结果和相应的其他数据表按照相应的关联字段分别进行哈希方式的数据重划分;将各个数据库节点的分组聚合结果的数据重划分结果和其他数据表的数据重划分结果均汇总到一个目标数据库节点;在目标数据库节点上对分组聚合结果的数据重划分结果和其他数据表的数据重划分结果进行目标数据的连接聚合。其中,在对目标数据进行聚合操作时,聚合操作的方式包括以下至少之一:sum、max、min、count、avg。可选的,在聚合操作为count的情况下,在各个数据库节点上对目标数据表按照目标数据表与其他数据表之间的相应关联字段分别进行目标数据的连接聚合时,该连接聚合的聚合操作为sum。可选的,在聚合操作为avg的情况下,在各个数据库节点上对目标数据表按照目标数据表与其他数据表之间的相应关联字段分别进行目标数据的分组聚合时,该分组聚合的聚合操作包括count和sum。相应的,在目标数据库节点上对分组聚合结果的数据重划分结果和其他数据表的数据重划分结果进行目标数据的连接聚合时,该连接聚合的聚合操作为对该count的分组聚合结果的数据重划分结果和该sum的分组聚合结果的数据重划分结果分别作sum连接操作,该sum连接操作的结果为sum的分组聚合结果的数据重划分结果的sum值与count操作的分组聚合结果的数据重划分结果的sum值的比值。根据本专利技术的另一方面,提供了一种用于并行数据库的数据查询装置。该数据查询装置包括:分组聚合模块,用于在各个数据库节点上对目标数据表按照目标数据表与其他数据表之间的相应关联字段分别进行目标数据的分组聚合;重划分模块,用于在各个数据库节点上对相应的分组聚合结果和相应的其他数据表按照相应的关联字段分别进行哈希方式的数据重划分;汇总模块,用于将各个数据库节点的分组聚合结果的数据重划分结果和其他数据表的数据重划分结果均汇总到一个目标数据库节点;连接聚合模块,用于在目标数据库节点上对分组聚合结果的数据重划分结果和其他数据表的数据重划分结果进行目标数据的连接聚合。其中,在对目标数据进行聚合操作时,聚合操作的方式包括以下至少之一:sum、max、min、count、avg。可选的,在聚合操作为count的情况下,在各个数据库节点上对目标数据表按照目标数据表与其他数据表之间的相应关联字段分别进行目标数据的连接聚合时,该连接聚合的聚合操作为sum。可选的,在聚合操作为avg的情况下,在各个数据库节点上对目标数据表按照目标数据表与其他数据表之间的相应关联字段分别进行目标数据的分组聚合时,该分组聚合的聚合操作包括count和sum。相应的,在目标数据库节点上对分组聚合结果的数据重划分结果和其他数据表的数据重划分结果进行目标数据的连接聚合时,该连接聚合的聚合操作为对该count的分组聚合结果的数据重划分结果和该sum的分组聚合结果的数据重划分结果分别作sum连接操作,该sum连接操作的结果为sum的分组聚合结果的数据重划分结果的sum值与count操作的分组聚合结果的数据重划分结果的sum值的比值。本专利技术通过在各个数据库节点上分别进行分组聚合,并将聚合结果重划分,并将重划分后的结果汇聚到一个数据库节点来进行连接聚合,实现数据的聚合查询,同时可以调高查询的并行性,提升集群的资源利用率,并降低网络开销,提高查询的性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的用于并行数据库的数据查询方法的流程图;图2是根据本专利技术实施例的聚合函数的数据查询方法的流程图;图3是根据本专利技术实施例的count聚合函数的数据查询方法的流程图;图4是根据本专利技术实施例的avg聚合函数的数据查询方法的流程图;图5是根据本专利技术实施例的用于并行数据库的数据查询装置的框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。根据本专利技术的实施例,提供了一种用于并行数据库的数据查询方法。如图1所示,根据本专利技术实施例的数据查询方法包括:步骤S101,在各个数据库节点上对目标数据表按照目标数据表与其他数据表之间的相应关联字段分别进行目标数据的分组聚合;步骤S103,在各个数据库节点上对相应的分组聚合结果和相应的其他数据表按照相应的关联字段分别进行哈希方式的数据重划分;步骤S105,将各个数据库节点的分组聚合结果的数据重划分结果和其他数据表的数据重划分结果均汇总到一个目标数据库节点;步骤S107,在目标数据库节点上对分组聚合结果的数据重划分结果和其他数据表的数据重划分结果进行目标数据的连接聚合。其中,不同数据表之间进行连接查询时主要通过join关键词实现,本专利技术支持内连接、外连接以及自连接方式,聚合查询主要通过聚集函数和GroupBy子句实现,其中聚集函数包括count、avg、sum、max、min等,其中,avg返回指定组中数据的平均值,空值被忽略;count返回指定组中指定字段的数量;ma本文档来自技高网...
用于并行数据库的数据查询方法和装置

【技术保护点】
一种用于并行数据库的数据查询方法,其特征在于,包括:在各个数据库节点上对目标数据表按照所述目标数据表与其他数据表之间的相应关联字段分别进行目标数据的分组聚合;在所述各个数据库节点上对相应的分组聚合结果和相应的其他数据表按照相应的关联字段分别进行哈希方式的数据重划分;将所述各个数据库节点的分组聚合结果的数据重划分结果和其他数据表的数据重划分结果均汇总到一个目标数据库节点;在所述目标数据库节点上对所述分组聚合结果的数据重划分结果和其他数据表的数据重划分结果进行目标数据的连接聚合。

【技术特征摘要】
1.一种用于并行数据库的数据查询方法,其特征在于,包括:在各个数据库节点上对目标数据表按照所述目标数据表与其他数据表之间的相应关联字段分别进行目标数据的分组聚合;在所述各个数据库节点上对相应的分组聚合结果和相应的其他数据表按照相应的关联字段分别进行哈希方式的数据重划分;将所述各个数据库节点的分组聚合结果的数据重划分结果和其他数据表的数据重划分结果均汇总到一个目标数据库节点;在所述目标数据库节点上对所述分组聚合结果的数据重划分结果和其他数据表的数据重划分结果进行目标数据的连接聚合。2.根据权利要求1所述的数据查询方法,其特征在于,在对所述目标数据进行聚合操作时,聚合操作的方式包括以下至少之一:sum、max、min、count、avg。3.根据权利要求2所述的数据查询方法,其特征在于,在所述聚合操作为count的情况下,在各个数据库节点上对目标数据表按照所述目标数据表与其他数据表之间的相应关联字段分别进行目标数据的连接聚合时,该连接聚合的聚合操作为sum。4.根据权利要求2所述的数据查询方法,其特征在于,在所述聚合操作为avg的情况下,在各个数据库节点上对目标数据表按照所述目标数据表与其他数据表之间的相应关联字段分别进行目标数据的分组聚合时,该分组聚合的聚合操作包括count和sum。5.根据权利要求4所述的数据查询方法,其特征在于,在所述目标数据库节点上对所述分组聚合结果的数据重划分结果和其他数据表的数据重划分结果进行目标数据的连接聚合时,该连接聚合的聚合操作为对该count的分组聚合结果的数据重划分结果和该sum的分组聚合结果的数据重划分结果分别作sum连接操作,该sum连接操作的结果为sum的分组聚合结果的数据重划分结果的sum值与count操作的分组聚合结果的数据重划分结果的sum值的比值。6.一种用于并行数据库的数据查询装...

【专利技术属性】
技术研发人员:郭庆李晋钢张建磊惠润海宋怀明
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:北京;11

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

1