System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及互联网,尤其涉及一种数据引擎的确定方法、装置、设备、存储介质及程序产品。
技术介绍
1、 相关技术中,在执行结构化查询语言(sql,structured query language)时,是针对多个计算引擎生成统一的sql执行计划,然后再从多个计算引擎中随机选取一个计算引擎来执行,然而,不同计算引擎的执行行为和能力各不相同的,针对多个计算引擎生成统一的sql执行计划则忽略了计算引擎本身的特征,导致计算引擎执行sql执行计划时的执行效果较差,同时,又从多个计算引擎中随机选取计算引擎来执行sql执行计划,则会进一步降低计算引擎的执行效果。
技术实现思路
1、本申请实施例提供一种数据引擎的确定方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够提高所确定的数据引擎的执行效率并降低数据引擎的执行代价。
2、本申请实施例的技术方案是这样实现的:
3、本申请实施例提供一种数据引擎的确定方法,包括:
4、构建可执行语句对应的至少一个计划树,并获取用于执行所述计划树的至少一个数据引擎;
5、针对各所述计划树,确定各所述数据引擎执行所述计划树的代价值;
6、针对各所述数据引擎,基于各所述代价值,从所述至少一个计划树中选取第一目标计划树;
7、基于各所述第一目标计划树对应的代价值,从所述至少一个数据引擎中,选取用于执行所述可执行语句的目标数据引擎。
8、本申请实施例提供一种数据引擎的确定装置,包括:
9、构建模块,用于构建可执行语句对应的至少一个计划树,并获取用于执行所述计划树的至少一个数据引擎;
10、确定模块,用于针对各所述计划树,确定各所述数据引擎执行所述计划树的代价值;
11、第一选取模块,用于针对各所述数据引擎,基于各所述代价值,从所述至少一个计划树中选取第一目标计划树;
12、第二选取模块,用于基于各所述第一目标计划树对应的代价值,从所述至少一个数据引擎中,选取用于执行所述可执行语句的目标数据引擎。
13、在上述方案中,所述确定模块,还用于针对各所述数据引擎,执行以下处理:分别获取数据获取操作对应的第一初始代价值、以及数据执行操作对应的第二初始代价值;其中,所述数据获取操作为,所述数据引擎获取所述计划树对应的待操作数据时的获取操作,所述数据执行操作为,所述数据引擎针对所述待操作数据执行所述可执行语句所指示的操作时的执行操作;获取至少一个成本要素,所述成本要素用于影响所述数据引擎执行所述计划树的代价值;基于所述至少一个成本要素,获取所述数据引擎对应的至少一个代价系数;基于所述至少一个代价系数、所述第一初始代价值以及所述第二初始代价值,确定所述数据引擎执行所述计划树的代价值。
14、在上述方案中,所述至少一个成本要素包括所述待操作数据的数据温度;所述确定模块,还用于获取用于存储所述待操作数据的存储介质的被访问频率、以及多个频率区间;其中,每一个所述频率区间对应一个数据温度;基于所述被访问频率,从所述多个频率区间中,选取所述被访问频率所归属的目标频率区间;将所述目标频率区间对应的数据温度,确定为所述待操作数据的数据温度。
15、在上述方案中,所述至少一个成本要素包括所述数据引擎的执行效率;所述确定模块,还用于对所述待操作数据进行分析,得到所述待操作数据的数据量;获取所述数据引擎的引擎标识,并基于所述引擎标识,确定所述数据引擎所归属的引擎类型;基于所述数据引擎所归属的引擎类型以及所述数据量,对所述数据引擎的执行效率进行分析,得到所述数据引擎执行所述待操作数据时的执行效率。
16、在上述方案中,所述至少一个成本要素包括所述数据引擎的存算亲和性;所述确定模块,还用于获取用于存储所述待操作数据的存储介质的介质标识、以及所述数据引擎的引擎标识;基于所述介质标识,确定所述存储介质的位置,并基于所述引擎标识,确定所述数据引擎的位置;基于所述存储介质的位置以及所述数据引擎的位置,对所述数据引擎与所述存储介质间的紧密程度进行分析,得到所述数据引擎的存算亲和性。
17、在上述方案中,所述确定模块,还用于当所述至少一个成本要素包括所述待操作数据的数据温度、所述至少一个代价系数包括所述待操作数据的数据温度对应的第一代价系数时,将所述第一代价系数与所述第一初始代价值进行乘积处理,得到第一中间代价值,并将所述第一中间代价值与所述第二初始代价值进行求和,得到所述数据引擎执行所述计划树的代价值;当所述至少一个成本要素包括所述数据引擎的执行效率、所述至少一个代价系数包括所述数据引擎的执行效率对应的第二代价系数时,将所述第二代价系数与所述第二初始代价值进行乘积处理,得到第二中间代价值,并将所述第二中间代价值与所述第一初始代价值进行求和,得到所述数据引擎执行所述计划树的代价值;当所述至少一个成本要素包括所述数据引擎的存算亲和性、所述至少一个代价系数包括所述数据引擎的存算亲和性对应的第三代价系数时,将所述第三代价系数与所述第二初始代价值进行乘积处理,得到第三中间代价值,并将所述第三中间代价值与所述第一初始代价值进行求和,得到所述数据引擎执行所述计划树的代价值。
18、在上述方案中,所述确定模块,还用于当所述至少一个成本要素包括所述待操作数据的数据温度以及所述数据引擎的执行效率、所述至少一个代价系数包括所述待操作数据的数据温度对应的第一代价系数以及所述数据引擎的执行效率对应的第二代价系数时,将所述第一代价系数与所述第一初始代价值进行乘积处理,得到第一中间代价值,并将所述第二代价系数与所述第二初始代价值进行乘积处理,得到第二中间代价值;将所述第一中间代价值与所述第二中间代价值进行求和,得到所述数据引擎执行所述计划树的代价值;当所述至少一个成本要素包括所述待操作数据的数据温度以及所述数据引擎的存算亲和性、所述至少一个代价系数包括所述待操作数据的数据温度对应的第一代价系数以及所述数据引擎的存算亲和性对应的第三代价系数时,将所述第一代价系数与所述第一初始代价值进行乘积处理,得到第一中间代价值,并将所述第三代价系数与所述第二初始代价值进行乘积处理,得到第三中间代价值;将所述第一中间代价值与所述第三中间代价值进行求和,得到所述数据引擎执行所述计划树的代价值;当所述至少一个成本要素包括所述数据引擎的执行效率以及所述数据引擎的存算亲和性、所述至少一个代价系数包括所述数据引擎的执行效率对应的第二代价系数以及所述数据引擎的存算亲和性对应的第三代价系数时,将所述第二代价系数、所述第三代价系数以及所述第二初始代价值进行乘积处理,得到第四中间代价值,并将所述第四中间代价值与所述第一初始代价值进行求和,得到所述数据引擎执行所述计划树的代价值。
19、在上述方案中,所述至少一个成本要素包括所述待操作数据的数据温度、所述数据引擎的执行效率以及所述数据引擎的存算亲和性,所述至少一个代价系数包括所述待操作数据的数据温度对应的第一代价系数、所述数据引擎的执行效率对应的第本文档来自技高网...
【技术保护点】
1.一种数据引擎的确定方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述确定各所述数据引擎执行所述计划树的代价值,包括:
3.如权利要求2所述的方法,其特征在于,所述至少一个成本要素包括所述待操作数据的数据温度;所述获取至少一个成本要素,包括:
4.如权利要求2所述的方法,其特征在于,所述至少一个成本要素包括所述数据引擎的执行效率;所述获取至少一个成本要素,包括:
5.如权利要求2所述的方法,其特征在于,所述至少一个成本要素包括所述数据引擎的存算亲和性;所述获取至少一个成本要素,包括:
6.如权利要求2所述的方法,其特征在于,所述基于所述至少一个代价系数、所述第一初始代价值以及所述第二初始代价值,确定所述数据引擎执行所述计划树的代价值,包括:
7.如权利要求2所述的方法,其特征在于,所述基于所述至少一个代价系数、所述第一初始代价值以及所述第二初始代价值,确定所述数据引擎执行所述计划树的代价值,包括:
8.如权利要求2所述的方法,其特征在于,所述至少一个成本要素包括所述待
9.如权利要求1所述的方法,其特征在于,所述获取用于执行所述计划树的至少一个数据引擎之后,所述方法还包括:
10.如权利要求1所述的方法,其特征在于,所述针对各所述数据引擎,基于各所述代价值,从所述至少一个计划树中选取第一目标计划树,包括:
11.如权利要求1所述的方法,其特征在于,所述基于各所述第一目标计划树对应的代价值,从所述至少一个数据引擎中,选取用于执行所述可执行语句的目标数据引擎,包括:
12.如权利要求1所述的方法,其特征在于,所述构建可执行语句对应的至少一个计划树,包括:
13.如权利要求1所述的方法,其特征在于,所述构建可执行语句对应的至少一个计划树,包括:
14.如权利要求1所述的方法,其特征在于,所述针对各所述数据引擎,基于各所述代价值,从所述至少一个计划树中选取第一目标计划树之后,所述方法还包括:
15.一种数据引擎的确定装置,其特征在于,所述装置包括:
16.一种电子设备,其特征在于,包括:
17.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,用于引起处理器执行时,实现权利要求1至14任一项所述的数据引擎的确定方法。
18.一种计算机程序产品,包括计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时,实现权利要求1至14任一项所述的数据引擎的确定方法。
...【技术特征摘要】
1.一种数据引擎的确定方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述确定各所述数据引擎执行所述计划树的代价值,包括:
3.如权利要求2所述的方法,其特征在于,所述至少一个成本要素包括所述待操作数据的数据温度;所述获取至少一个成本要素,包括:
4.如权利要求2所述的方法,其特征在于,所述至少一个成本要素包括所述数据引擎的执行效率;所述获取至少一个成本要素,包括:
5.如权利要求2所述的方法,其特征在于,所述至少一个成本要素包括所述数据引擎的存算亲和性;所述获取至少一个成本要素,包括:
6.如权利要求2所述的方法,其特征在于,所述基于所述至少一个代价系数、所述第一初始代价值以及所述第二初始代价值,确定所述数据引擎执行所述计划树的代价值,包括:
7.如权利要求2所述的方法,其特征在于,所述基于所述至少一个代价系数、所述第一初始代价值以及所述第二初始代价值,确定所述数据引擎执行所述计划树的代价值,包括:
8.如权利要求2所述的方法,其特征在于,所述至少一个成本要素包括所述待操作数据的数据温度、所述数据引擎的执行效率以及所述数据引擎的存算亲和性,所述至少一个代价系数包括所述待操作数据的数据温度对应的第一代价系数、所述数据引擎的执行效率对应的第二代价系数以及所述数据引擎的存算亲和性对应的第三代价系数;
<...【专利技术属性】
技术研发人员:吴怡雯,陈鹏,罗韩梅,唐暾,邓启斌,薛文伟,唐文慧,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。