用于优化大数据查询的学习资源消耗模型制造技术

技术编号:31014008 阅读:22 留言:0更新日期:2021-11-30 02:21
提供了用于评估查询的资源消耗的方法、系统、装置和计算机程序产品。要被执行的所生成的(例如,从查询生成实体获得)查询的逻辑运算符表示可以被确定。逻辑运算符表示可以被变换为用于执行查询的多个不同的物理运算符表示。多个资源消耗模型可以被应用于物理运算符表示中的每个物理运算符表示,以确定针对物理运算符表示的资源消耗估计。资源消耗模型可以以不同方式至少基于查询执行的历史而被训练,使得每个模型在估计查询的资源消耗时可以具有不同的粒度、覆盖范围和/或准确性特性。基于针对物理运算符表示所确定的资源消耗估计,物理运算符表示中的一个特定物理运算符表示可以被选择以执行查询。被选择以执行查询。被选择以执行查询。

【技术实现步骤摘要】
【国外来华专利技术】用于优化大数据查询的学习资源消耗模型

技术介绍

[0001]基于成本的查询优化器是针对大规模并行的大数据基础设施的关键组件,其中执行计划的改进可能会潜在地导致更好的性能和资源效率。基于成本的优化器的核心使用成本模型以预测运算符的时延,并且选择具有总体资源消耗(例如,执行查询所需的时间)最便宜的计划。然而,随着大数据系统在云中作为数据服务可用,成本建模由于多种原因而变得具有挑战性。首先,大数据系统的复杂性与云环境中的差异耦合使成本建模变得异常困难,因为不准确的成本估计可能很容易产生具有性能极差的执行计划。其次,成本估计的任何改进需要跨工作负载和随着时间的推移保持一致,这使成本调优更加困难,因为性能峰值不利于云客户的可靠性预期。最后,减少总操作成本在云环境中至关重要,尤其是当用于实施执行计划的云资源可以动态地并且按需供应时。
[0002]先前的方法已经使用机器学习用于对集中式数据库上的查询进行性能预测,即,给定来自查询优化器的固定查询计划,它们的目标是正确预测资源消耗(例如,执行时间)。然而,这些技术中的许多技术是查询优化器的外部技术。在其中优化器集成工作被使用的一些其他实例中,反馈可以被提供给针对更准确的统计数据的查询优化器,并且深度学习技术可以被实现用于探索最优联合顺序。尽管如此,准确地建模物理运算符的运行时行为仍然是重大挑战。其他工作通过解决不准确的成本估计(例如,信息传递、重新优化和使用多个计划)来提高计划的稳健性。不幸的是,这些工作中的大部分都难以在生产云环境中利用最小的成本和时间开销来采用。最后,与性能预测类似,资源优化被视为查询优化器之外的单独问题,这可能会导致选择不是最优的查询执行计划。

技术实现思路

[0003]本
技术实现思路
被提供以简化的形式介绍对于下面在具体实施方式中进一步被描述的概念的选择。本
技术实现思路
不旨在标识所要求保护的主题的关键特征或者必要特征,也不旨在被用于限制所要求保护的主题的范围。
[0004]提供了用于评估查询的资源消耗的方法、系统、装置和计算机程序产品。要被执行的所生成的(例如,从查询生成实体获得的)查询的逻辑运算符表示可以被确定。逻辑运算符表示可以被变换为多个不同的物理运算符表示,用于执行查询。多个资源消耗模型可以被应用于物理运算符表示中的每个物理运算符表示,以确定针对物理运算符表示的资源消耗估计。资源消耗模型可以以不同方式、至少基于查询执行的历史而被训练,使得每个模型在估计查询的资源消耗时可以具有不同的粒度、覆盖范围和/或准确性特性。基于针对物理运算符表示、所确定的资源消耗估计,物理运算符表示中的一个特定物理运算符表示可以被选择(例如,具有最低资源消耗的物理运算符表示)。
[0005]本专利技术的其他特征和优点以及各个实施例的结构和操作在下面参照附图详细来描述。要注意的是,本专利技术不被限于本文中所描述的具体实施例。这种实施例是仅出于说明性目的而在本文中提出的。基于本文包含的教导,附加实施例对于(多个)相关领域的技术人员将是明显的。
附图说明
[0006]被包含在本文中并且形成说明书的部分的附图图示了本申请的实施例,并且连同本描述,还用于解释实施例的原理并且使相关领域的技术人员能够制造和使用实施例。
[0007]图1示出了根据示例实施例的用于执行查询计划的系统的框图。
[0008]图2示出了根据示例实施例的用于基于资源消耗估计来选择查询计划的方法的流程图。
[0009]图3示出了根据示例实施例的用于确定多个资源消耗估计的系统的框图。
[0010]图4示出了根据示例实施例的用于在确定资源消耗估计之前选择针对物理运算符表示的分区计数的方法的流程图。
[0011]图5示出了根据示例实施例的用于通过应用从多个资源消耗模型生成的组合模型来确定资源消耗估计的方法的流程图。
[0012]图6图示了根据示例实施例的在两个查询之间的公共子表达式,包括扫描所跟随的过滤器。
[0013]图7图示了根据示例实施例的用于克服模型准确性和工作负载覆盖范围之间的差距的不同学习粒度。
[0014]图8示出了根据示例实施例的学习模型之间的交互以生成用于预测查询执行成本的组合模型。
[0015]图9示出了根据示例实施例的用于资源感知查询计划的方法的流程图。
[0016]图10图示了根据示例实施例的用于资源感知查询计划的示例系统。
[0017]图11是可以被用于实施本文描述的示例实施例的示例计算设备的框图。
[0018]当结合附图时,通过下面陈述的详细描述,本专利技术的特征和优点将变得更加明显,其中相同的参考字符始终标识对应的元素。在附图中,相同的附图标记通常指示相同的、功能类似和/或结构类似的元素。元素首次出现的附图由对应附图标记中的(多个)最左侧数字指示。
具体实施方式
[0019]I.介绍
[0020]本说明书和附图公开了包含本专利技术的特征的一个或多个实施例。本专利技术的范围不被限于所公开的实施例。所公开的实施例仅例示了本专利技术,并且所公开的实施例的修改版本也由本专利技术涵盖。本专利技术的实施例由所附权利要求限定。
[0021]说明书中对“一个实施例”、“实施例”、“示例实施例”等的参考指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可能不必然包括该特定特征、结构或特性。此外,这种短语不必然指的是相同实施例。此外,当特定特征、结构或特性结合示例实施例描述时,无论是否明确描述,认为是在本领域技术人员的知识范围内,以结合其他实施例来实现这种特征、结构或特性。
[0022]在讨论中,除非另外规定,否则修饰本公开的示例实施例的一个或多个特征的条件或关系特性的诸如“基本上”和“大约”的形容词被理解为意味着该条件或特点被限定为在预期的应用的实施例的操作可接受的公差范围内。
[0023]许多示例性实施例被描述如下。要注意的是,本文所提供的任何章节/子章节标题
都不旨在是限制性的。实施例贯穿该文档被描述,并且任何类型的实施例可以被包括在任何章节/子章节下。此外,在任何章节/子章节中所公开的实施例可以以任何方式与在相同的章节/子章节和/或不同的章节/子章节中所描述的任何其他实施例组合。
[0024]II.示例实现
[0025]基于成本的查询优化器是大规模并行的大数据基础设施的关键组件,其中执行计划中的改进可能会潜在地导致更好的性能和资源效率。基于成本的优化器的核心使用成本模型以预测运算符的时延,并且选择具有总体资源消耗(例如,执行查询所需的时间)最便宜的计划。然而,随着大数据系统在云中作为数据服务可用,成本建模由于多种原因而变得具有挑战性。首先,大数据系统的复杂性与云环境中的差异耦合使成本建模变得异常困难,因为不准确的成本估计可能很容易产生具有性能极差的执行计划。其次,成本估计的任何改进都需要跨工作负载和随着时间的推移保持一致,这使成本调优更加困难,因为性能峰值不利于云客户的可靠性预期。最后,减少总操作成本在云环境中至关重要,尤其是当用于实施执行计划的云资源可以动态地并且按需供应时。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于评估查询的资源消耗的系统,所述系统包括:一个或多个处理器;以及一个或多个存储器设备,所述一个或多个存储器设备存储程序代码,所述程序代码被配置为由所述一个或多个处理器执行,所述程序代码包括:逻辑运算符确定器,被配置为确定要被执行的查询的逻辑运算符表示;物理运算符确定器,被配置为将所述逻辑运算符表示变换为两个或更多个物理运算符表示,以用于执行所述查询;资源消耗评估器,被配置为将多个资源消耗模型应用于所述物理运算符表示中的每个物理运算符表示,以确定所述物理运算符表示中的每个物理运算符表示的资源消耗估计,所述多个资源消耗模型至少基于查询执行的历史而被训练;以及查询计划选择器,被配置为基于所确定的所述资源消耗估计来选择所述物理运算符表示中的一个特定物理运算符表示。2.根据权利要求1所述的系统,其中所述物理运算符确定器被配置为:在所述资源消耗评估器确定所述物理运算符表示中的每个物理运算符表示的所述资源消耗估计之前,针对所述物理运算符表示中的每个物理运算符表示来选择分区计数,所述分区计数是至少基于每个物理运算符表示的部分的资源消耗估计来选择的。3.根据权利要求1所述的系统,其中所述多个资源消耗模型中的每个资源消耗模型包括:至少基于与所述查询执行的历史相关联的特征集而被训练的机器学习模型,与每个机器学习模型相对应的所述特征集被彼此不同地加权。4.根据权利要求1所述的系统,其中至少一个资源消耗模型是至少基于先前查询执行而被训练的,所述先前查询执行包括:具有公共模式的物理运算符树,作为所述物理运算符表示中的至少一个物理运算符表示的物理运算符树。5.根据权利要求1所述的系统,其中至少一个资源消耗模型是至少基于先前查询执行而被训练的,所述先前查询执行包括:具有公共根运算符的物理运算符树,作为所述物理运算符表示中的至少一个物理运算符表示的物理运算符树。6.根据权利要求1所述的系统,其中至少一个资源消耗模型是至少基于先前查询执行而被训练的,所述先前查询执行包括:具有公共根运算符、叶节点输入的公共集和相同数目的总运算符的物理运算符树,作为所述物理运算符表示中的至少一个物理运算符表示的物理运算符树。7.根据权利要求1所述的系统,其中至少一个资源消耗模型是至少基于先...

【专利技术属性】
技术研发人员:T
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:

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

1