一种管理SQL语句的方法、装置及设备制造方法及图纸

技术编号:29459185 阅读:21 留言:0更新日期:2021-07-27 17:27
本说明书实施例提供了一种管理SQL语句的方法、装置及设备,所述管理SQL语句的方法、装置及设备可用于大数据技术领域。所述方法包括获取待提交到分布式数据库上的SQL语句;对所述SQL语句进行维度分析,获得所述SQL语句的评分信息;根据所述SQL语句的评分信息和所述分布式数据库的资源泳道信息,确定执行所述SQL语句的目标资源泳道;其中,每个资源泳道对应的评分信息不同,同一资源指标在不同资源泳道对应的可用资源量不同;将所述SQL语句提交到所述目标资源泳道上执行。利用本说明书实施例可以提高对提交到数据库上的SQL语句的管理效率,使分布式数据库的资源被高效利用。

【技术实现步骤摘要】
一种管理SQL语句的方法、装置及设备
本申请涉及大数据
,特别涉及一种管理SQL语句的方法、装置及设备。
技术介绍
随着大数据时代的到来,在分布式数据库系统上运行的SQL(StructuredQueryLanguage)语句的数量及复杂程度越来越高。因此,为了更有效的利用数据库资源,对提交到数据库上的SQL语句进行管理变得越来越重要。现有技术中多数分布式数据库对提交到数据库上的SQL语句进行管理是按照用户(user)或模式(schema)等较粗粒度对SQL语句分级,然后将不同用户或者模式对应的SQL语句分配到指定的资源池中,并为属于该用户或者该模式的所有SQL语句分配预先配置好的数据库资源配额。然而,这种方式无法区分同一用户或同一模式下的不同SQL语句,使得对提交到数据库上的SQL语句的管理效率较低,从而降低对分布式数据库的资源利用率。因此,业内亟需一种可以解决上述技术问题的技术方案。
技术实现思路
本说明书实施例提供了一种管理SQL语句的方法、装置及设备,可以提高对提交到数据库上的SQL语句的管理效率,使分布式数据库的资源被高效利用。本说明书提供的一种管理SQL语句的方法、装置及设备是包括以下方式实现的。一种管理SQL语句的方法,包括:获取待提交到分布式数据库上的SQL语句;对所述SQL语句进行维度分析,获得所述SQL语句的评分信息;根据所述SQL语句的评分信息和所述分布式数据库的资源泳道信息,确定执行所述SQL语句的目标资源泳道;其中,每个资源泳道对应的评分信息不同,同一资源指标在不同资源泳道对应的可用资源量不同;将所述SQL语句提交到所述目标资源泳道上执行。一种管理SQL语句的装置,包括:获取模块,用于获取待提交到分布式数据库上的SQL语句;获得模块,用于对所述SQL语句进行维度分析,获得所述SQL语句的评分信息;确定模块,用于根据所述SQL语句的评分信息和所述分布式数据库的资源泳道信息,确定执行所述SQL语句的目标资源泳道;其中,每个资源泳道对应的评分信息不同,同一资源指标在不同资源泳道对应的可用资源量不同;提交模块,用于将所述SQL语句提交到所述目标资源泳道上执行。一种管理SQL语句的设备,包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现本说明书实施例中任意一个方法实施例的步骤。一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现本说明书实施例中任意一个方法实施例的步骤。本说明书提供的一种管理SQL语句的方法、装置及设备。一些实施例中可以获取待提交到分布式数据库上的SQL语句,对SQL语句进行维度分析,获得SQL语句的评分信息。进一步可以根据SQL语句的评分信息和分布式数据库的资源泳道信息,确定执行SQL语句的目标资源泳道,将SQL语句提交到目标资源泳道上执行,其中,每个资源泳道对应的评分信息不同,同一资源指标在不同资源泳道对应的可用资源量不同。由于本说明书实施例可以对每个提交到分布式数据库上的SQL语句,按照实际情况进行多方面分析并给出评分,依据评分进行SQL语句分级并合理分配数据库资源,从而可以使分布式数据库的资源利用更加高效,使分布式数据库的资源被高效利用。附图说明此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,并不构成对本说明书的限定。在附图中:图1是本说明书提供的一种管理SQL语句的方法的一个实施例的流程示意图;图2是本说明书提供的一种管理SQL语句的方法的一个实施例的流程示意图;图3是本说明书提供的一种管理SQL语句的装置的一个实施例的模块结构示意图;图4是本说明书提供的一种管理SQL语句的服务器的一个实施例的硬件结构框图。具体实施方式为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书中的一部分实施例,而不是全部的实施例。基于本说明书中的一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书实施例保护的范围。下面以一个具体的应用场景为例对本说明书实施方案进行说明。具体的,图1是本说明书提供的一种管理SQL语句的方法的一个实施例的流程示意图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。本说明书提供的一种实施方案可以应用到客户端、服务器等中。所述客户端可以包括终端设备,如智能手机、平板电脑等。所述服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式系统的服务器结构等。需要说明的是,下述实施例描述并不对基于本说明书的其他可扩展到的应用场景中的技术方案构成限制。具体的一种实施例如图1所示,本说明书提供的一种管理SQL语句的方法的一种实施例中,所述方法可以包括以下步骤。S0:获取待提交到分布式数据库上的SQL语句。其中,待提交到分布式数据库上的SQL语句可以是用户刚编写完成的SQL语句,也可以是历史编写好存储在预设在预设文件中的SQL语句等。S2:对所述SQL语句进行维度分析,获得所述SQL语句的评分信息。本说明书实施例中,在获得待提交到分布式数据库上的SQL语句后,可以对SQL语句进行维度分析,获得SQL语句的评分信息。其中,SQL语句的评分信息可以是一个分值。一些实施例中,所述对所述SQL语句进行多维度分析,获得所述SQL语句的评分信息,可以包括:获取所述分布式数据库的数据分布信息;根据所述数据分布信息,获得所述SQL语句包括的数据表信息;基于所述数据表信息,生成所述SQL语句在所述分布式数据库上的执行计划;对所述执行计划进行第一维度分析,获得第一分析结果;根据所述第一分析结果,确定所述SQL语句的评分信息。一些实施场景中,分布式数据库的数据分布信息可以包括分布式数据库的集群规模、节点数以及数据分布等有效信息。一些实施场景中,获取分布式数据库的数据分布信息后,可以基于待提交到分布式数据库上的SQL语句,结合获取到的集群规模、节点数以及数据分布等有效信息,获取到SQL语句中涉及到的所有数据表的统计信息。其中,所有数据表的统计信息可以理解为数据表信息。一些实施场景中,在获得数据表信息后,可以根据数据表信息,生成SQL语句在分布式数据库上的执行计划。其中,执行计划可以理解为一条SQL语句在数据库中的执行过程或访问路径的描述。执行计划可以显示SQL语句执行的详细步骤,每一步骤可以为一个数据库运算符。一些实施场景中,在生成执行计划后,可以对执行计划进行维度分析,获得分析结果。例如一些实施场景中,获得执行结合后,可以将执行计划下发到多个预设模块中进行详细分析。其中,一个预设模块可以表示一个指标维度。...

【技术保护点】
1.一种管理SQL语句的方法,其特征在于,包括:/n获取待提交到分布式数据库上的SQL语句;/n对所述SQL语句进行维度分析,获得所述SQL语句的评分信息;/n根据所述SQL语句的评分信息和所述分布式数据库的资源泳道信息,确定执行所述SQL语句的目标资源泳道;其中,每个资源泳道对应的评分信息不同,同一资源指标在不同资源泳道对应的可用资源量不同;/n将所述SQL语句提交到所述目标资源泳道上执行。/n

【技术特征摘要】
1.一种管理SQL语句的方法,其特征在于,包括:
获取待提交到分布式数据库上的SQL语句;
对所述SQL语句进行维度分析,获得所述SQL语句的评分信息;
根据所述SQL语句的评分信息和所述分布式数据库的资源泳道信息,确定执行所述SQL语句的目标资源泳道;其中,每个资源泳道对应的评分信息不同,同一资源指标在不同资源泳道对应的可用资源量不同;
将所述SQL语句提交到所述目标资源泳道上执行。


2.根据权利要求1所述的方法,其特征在于,所述对所述SQL语句进行多维度分析,获得所述SQL语句的评分信息,包括:
获取所述分布式数据库的数据分布信息;
根据所述数据分布信息,获得所述SQL语句包括的数据表信息;
基于所述数据表信息,生成所述SQL语句在所述分布式数据库上的执行计划;
对所述执行计划进行第一维度分析,获得第一分析结果;
根据所述第一分析结果,确定所述SQL语句的评分信息。


3.根据权利要求2所述的方法,其特征在于,所述第一分析结果至少包括下述之一:风险计划排查结果、执行计划每一步对应的计算结果、执行代价分析结果、执行算子分析结果、CPU消耗分析结果、内存消耗分析结果、存储消耗分析结果。


4.根据权利要求1所述的方法,其特征在于,所述分布式数据库的资源泳道信息通过下述方式确定:
获取所述分布式数据库的总评分信息和每个资源指标的评分信息;
根据所述总评分信息,确定所述分布式数据库中每个资源泳道对应的评分信息;
根据总评分信息与数据库可用资源量的预设关系,确定所述分布式数据库的可用资源量;
基于所述分布式数据库的可用资源量,根据所述每个资源指标的评分信息和预设资源配比,为每个资源泳道中对应的资源指标分配相应可用资源量,获得所述分布式数据库的资源泳道信息。


5.根据权利要求4所述的方法,其特征在于,所述资源指标至少包括下述之一:内存资源、网络资源、CPU资源、磁盘I/O资源、会话连接数、SQL作业并发度、SQL执行优先级。


6.根据权利要求4所述的方法,其特征在于,所述获取所述分布式数据库的总评分信息,包括:
获取影响分布式数据库性能的参数信息;其中,所述参数信息包括静态参数信息和动态参数信息;
根据所述参数信息,确定所述分布式数据库的总评分信息。


7.根据权利要求6所述的方法,其特征在于,所述静态参数信息至少包括硬件参数、操作系统参数、数据库参数;所述动态参数信息至少包括硬件与系统状态诊断参数、数据库状态诊断参数。


8.根据权利要求4所述的方法,其特征在于,所述获得所述分布式数据库的资...

【专利技术属性】
技术研发人员:于子烨钱璞昕徐嘉禛潘晨隐
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

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

1