[发明专利]分布式查询引擎及其查询关系型数据库的方法在审
申请号: | 202010242001.2 | 申请日: | 2020-03-30 |
公开(公告)号: | CN111427931A | 公开(公告)日: | 2020-07-17 |
发明(设计)人: | 林镇锋;易文峰;石刚;杨赛;杜祺;罗珍明;陈佳山;梁培 | 申请(专利权)人: | 深圳市康拓普信息技术有限公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/28;G06F16/22 |
代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 郭伟刚 |
地址: | 518000 广东省深圳市南山区沙河街道高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 查询 引擎 及其 关系 数据库 方法 | ||
本发明提供一种分布式查询引擎及其查询关系型数据库的方法,包括:分布式查询引擎获取待查询数据表所属的关系型数据库的元数据;根据所述元数据确定分片方式;基于所述分片方式以及目标分片数N,将所述待查询数据表中的表数据拆分为N个分片块,其中,N为正整数,每个分片块之间的表数据数量差小于或等于预设阈值;将所述N个分片块从所述关系型数据库中并行加载到所述分布式查询引擎中进行计算。通过本发明,在查询关系型数据库时,能让引擎中更多的节点参与计算,同时避免关系型数据库全表扫描,缩短整个查询执行时间,降低关系型数据库访问压力。
技术领域
本发明涉及数据存储技术领域,尤其涉及一种分布式查询引擎及其查询关系型数据库的方法。
背景技术
分布式查询引擎是一种通过集群来对外提供数据查询服务的技术组件,主要是为了解决查询数据量过大时导致单节点处理过慢或无法处理的问题,多用于OLAP(联机分析处理),由于其最初设计时主要考虑大数据查询,对关系型数据库(如Oracle、MySQL等)仅仅停留在能查询的阶段,所以其还存在很大优化空间。
以Facebook开源的分布式查询引擎Presto为例,虽然其能支持查询关系型数据库,但是其处理过程是将要查询的关系型数据库中的数据表的所有数据一次性加载集群中一个节点中进行单独的计算处理,这意味着无法通过扩展集群节点来提升其计算能力,由于每次都从关系型数据库中加载数据表内的所有数据,使得关系型数据库会进行全表扫描,导致查询耗时长,对关系型数据库也造成较大的访问压力。
发明内容
本发明的主要目的在于提供一种分布式查询引擎及其查询关系型数据库的方法,旨在解决现有技术中存在的上述技术问题。
为实现上述目的,本发明实施例提供一种分布式查询引擎查询关系型数据库的方法,所述分布式查询引擎查询关系型数据库的方法包括:
分布式查询引擎获取待查询数据表所属的关系型数据库的元数据;
根据所述元数据确定分片方式;
基于所述分片方式以及目标分片数N,将所述待查询数据表中的表数据拆分为N个分片块,其中,N为正整数,每个分片块之间的表数据数量差小于或等于预设阈值;
将所述N个分片块从所述关系型数据库中并行加载到所述分布式查询引擎中进行计算。
可选的,所述根据元数据确定分片方式包括:
检测所述元数据中是否包含所述待查询数据表的表分区字段;
若所述元数据中包含所述待查询数据表的表分区字段,则获取所述表分区字段,并确定分片方式为基于表分区字段的分片方式。
可选的,所述根据元数据确定分片方式还包括:
获取所述元数据中包含的所述待查询数据表的表主键字段的生成方式;
当所述生成方式为序列自增时,确定分片方式为基于表主键字段的分片方式。
可选的,所述将所述N个分片块从所述关系型数据库中并行加载到所述分布式查询引擎中进行计算包括:
基于过滤条件对所述N个分片块进行数据过滤处理;
将经过数据过滤处理后的N个分片块从所述关系型数据库中并行加载到所述分布式查询引擎中进行计算。
可选的,在所述分布式查询引擎获取待查询数据表所属的关系型数据库的元数据之前,还包括:
分布式查询引擎获取关系型数据库的元数据,并存储至本地。
此外,为实现上述目的,本发明实施例还提供一种分布式查询引擎,所述分布式查询引擎包括:
获取模块,用于获取待查询数据表所属的关系型数据库的元数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市康拓普信息技术有限公司,未经深圳市康拓普信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010242001.2/2.html,转载请声明来源钻瓜专利网。