一种基于网络延迟动态选择区域优化查询的方法及工具技术

技术编号:36946546 阅读:48 留言:0更新日期:2023-03-22 19:07
本发明专利技术公开一种基于网络延迟动态选择区域优化查询的方法及工具,涉及数据查询技术领域,包括:1)自定义满足如下条件的查询:已知扫描会产生确定的行数,扫描包含多个扫描范围,其中一部分扫描范围以本地节点上的分区为目标,另一部分扫描范围则以远程节点上的磁盘分区为目标;2)基于自定义的查询创建区域优化查询计划;3)已知数据库集群中两两节点间的网络延迟数据,根据具体要进行的查询,动态选择是否执行区域优化查询计划。本发明专利技术解决了传统分布式数据库由于数据库节点间由于数据分布不均、网络延迟等问题造成选择了错误的执行计划,造成数据库查询效率降低的问题。造成数据库查询效率降低的问题。造成数据库查询效率降低的问题。

【技术实现步骤摘要】
一种基于网络延迟动态选择区域优化查询的方法及工具


[0001]本专利技术涉及数据查询
,具体的说是一种基于网络延迟动态选择区域优化查询的方法及工具。

技术介绍

[0002]数据库管理系统(Database Management System,DBMS,以下简称“数据库”)作为数据集中管理、存储、查询软件,是几乎所有信息系统的底层基础软件。近年来,由于单个计算机的算力和容量的限制,数据库软件从单机数据库逐渐进化为了分布式数据库。分布式数据库的数据散布于多台计算机(也称“节点”),查询时可以同时利用多台计算机的硬件性能,最后将查询结果汇聚至一台计算机,达到了增加数据容量、提升查询效率的目的。
[0003]由于全球一体化的不断深入,很多信息系统的业务进入了全球化的阶段,数据往往分布在距离很远的多个区域上,并通过网络进行传输,多region分布式数据库应运而生,区域(Region)是多Region特性数据库集群的基本要素,在部署层面与云服务的Region概念类似,在物理上指代一个可以提供服务的大区,一般包含多个可用区(Available Zone),每个可用区是一个拥有独立电源和网络的数据中心,一般包含一个或多个服务器机房。区域数据库是默认使用数据库的Region将数据库内的表数据进行分区,并将表数据Range的Leaseholder副本默认分布于数据库Primary Region的数据库。
[0004]随着业务的进展,数据分布的情况可能会有变化。节点与节点之间的网络距离各不相同且变化快速,在数据查询时,已经无法忽略各个节点之间的网络延迟的不同。在查询的计划阶段,错误估计或忽略网络延时会给数据库的查询计划带来不利影响。

技术实现思路

[0005]本专利技术针对目前技术发展的需求和不足之处,提供一种基于网络延迟动态选择区域优化查询的方法及工具。
[0006]首先,本专利技术的一种基于网络延迟动态选择区域优化查询的方法,解决上述技术问题采用的技术方案如下:
[0007]一种基于网络延迟动态选择区域优化查询的方法,包括如下步骤:
[0008]自定义查询,并基于自定义的查询创建区域优化查询计划;
[0009]已知数据库集群中两两节点间的网络延迟数据,根据具体要进行的查询,动态选择是否执行区域优化查询计划。
[0010]可选的,自定义的查询满足如下条件:
[0011]已知扫描会产生确定的行数;
[0012]扫描包含多个扫描范围,其中一部分扫描范围以本地节点上的分区为目标,另一部分扫描范围则以远程节点上的磁盘分区为目标。
[0013]进一步可选的,创建的区域优化查询计划包含左侧子集和右侧子集,其中,左侧子集包含所有本地扫描范围,右侧子集包含所有远端扫描范围;
[0014]在对数据库集群进行自定义的查询时,执行区域优化查询计划,先扫描左侧子集包含的本地扫描范围,当左侧子集未完全返回扫描结果时,才执行右侧子集包含的远端扫描范围。
[0015]可选的,在数据库集群中,使用gossip将两两节点间的网络延迟数据广播至所有节点。
[0016]可选的,根据具体要进行的查询,在网关节点与其它节点的网络延迟数据超过设定阈值时,选择执行区域优化查询计划;
[0017]根据具体要进行的查询,在网关节点与其它节点的网络延迟数据小于设定阈值时,选择数据库scan操作,同时向各个节点发送查询范围请求。
[0018]其次,本专利技术的一种基于网络延迟动态选择区域优化查询的工具,解决上述技术问题采用的技术方案如下:
[0019]一种基于网络延迟动态选择区域优化查询的工具,其结构包括:
[0020]自定义创建模块,用于自定义查询,并基于自定义的查询创建区域优化查询计划;
[0021]获取模块,用于获取数据库集群中两两节点间的网络延迟数据;
[0022]动态执行模块,用于根据具体要进行的查询,动态选择是否执行区域优化查询计划。
[0023]可选的,所涉及自定义创建模块自定义的查询满足如下条件:
[0024]已知扫描会产生确定的行数;
[0025]扫描包含多个扫描范围,其中一部分扫描范围以本地节点上的分区为目标,另一部分扫描范围则以远程节点上的磁盘分区为目标。
[0026]进一步可选的,所涉及自定义创建模块创建的区域优化查询计划包含左侧子集和右侧子集,其中,左侧子集包含所有本地扫描范围,右侧子集包含所有远端扫描范围;
[0027]在对数据库集群进行自定义的查询时,执行区域优化查询计划,先扫描左侧子集包含的本地扫描范围,当左侧子集未完全返回扫描结果时,才执行右侧子集包含的远端扫描范围。
[0028]可选的,在数据库集群中,使用gossip将两两节点间的网络延迟数据广播至所有节点。
[0029]进一步可选的,所涉及动态执行模块根据具体要进行的查询,在网关节点与其它节点的网络延迟数据超过设定阈值时,选择执行区域优化查询计划;
[0030]根据具体要进行的查询,在网关节点与其它节点的网络延迟数据小于设定阈值时,选择数据库scan操作,同时向各个节点发送查询范围请求。
[0031]本专利技术的一种基于网络延迟动态选择区域优化查询的方法及工具,与现有技术相比具有的有益效果是:
[0032]本专利技术解决了传统分布式数据库由于数据库节点间由于数据分布不均、网络延迟等问题造成选择了错误的执行计划,造成数据库查询效率降低的问题。
附图说明
[0033]附图1是本专利技术实施例一的方法流程图;
[0034]附图2是本专利技术实施例二的模块连接框图。
[0035]附图中各标号信息表示:
[0036]1、自定义创建模块,2、获取模块,3、动态执行模块。
具体实施方式
[0037]为使本专利技术的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本专利技术的技术方案进行清楚、完整的描述。
[0038]实施例一:
[0039]结合附图1,一种基于网络延迟动态选择区域优化查询的方法,包括如下步骤:
[0040](一)对查询进行自定义,使其满足如下条件:
[0041]已知扫描会产生确定的行数;
[0042]扫描包含多个扫描范围,其中一部分扫描范围以本地节点上的分区为目标,另一部分扫描范围则以远程节点上的磁盘分区为目标。
[0043](二)基于自定义的查询创建区域优化查询计划,创建的区域优化查询计划包含左侧子集和右侧子集,其中,左侧子集包含所有本地扫描范围,右侧子集包含所有远端扫描范围。
[0044]在对数据库集群进行自定义的查询时,执行区域优化查询计划,先扫描左侧子集包含的本地扫描范围,当左侧子集未完全返回扫描结果时,才执行右侧子集包含的远端扫描范围。
[0045](三)已知数据库集群中两两节点间的网络延迟数据,根据具体要进行的查询,动态选择是否执行区域优化查询计划。
[0046本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于网络延迟动态选择区域优化查询的方法,其特征在于,包括如下步骤:自定义查询,并基于自定义的查询创建区域优化查询计划;已知数据库集群中两两节点间的网络延迟数据,根据具体要进行的查询,动态选择是否执行区域优化查询计划。2.根据权利要求1所述的一种基于网络延迟动态选择区域优化查询的方法,其特征在于,自定义的查询满足如下条件:已知扫描会产生确定的行数;扫描包含多个扫描范围,其中一部分扫描范围以本地节点上的分区为目标,另一部分扫描范围则以远程节点上的磁盘分区为目标。3.根据权利要求2所述的一种基于网络延迟动态选择区域优化查询的方法,其特征在于,创建的区域优化查询计划包含左侧子集和右侧子集,其中,左侧子集包含所有本地扫描范围,右侧子集包含所有远端扫描范围;在对数据库集群进行自定义的查询时,执行区域优化查询计划,先扫描左侧子集包含的本地扫描范围,当左侧子集未完全返回扫描结果时,才执行右侧子集包含的远端扫描范围。4.根据权利要求1所述的一种基于网络延迟动态选择区域优化查询的方法,其特征在于,在数据库集群中,使用gossip将两两节点间的网络延迟数据广播至所有节点。5.根据权利要求1所述的一种基于网络延迟动态选择区域优化查询的方法,其特征在于,根据具体要进行的查询,在网关节点与其它节点的网络延迟数据超过设定阈值时,选择执行区域优化查询计划;根据具体要进行的查询,在网关节点与其它节点的网络延迟数据小于设定阈值时,选择数据库scan操作,同时向各个节点发送查询范围请求。6.一种基于网络延迟动态选择区域优化查询的工具,其特征在于,其结构...

【专利技术属性】
技术研发人员:柴毅
申请(专利权)人:上海沄熹科技有限公司
类型:发明
国别省市:

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

1