可扩展查询处理制造技术

技术编号:32466054 阅读:18 留言:0更新日期:2022-02-26 09:04
本公开的实施例可以提供动态查询执行模型。该查询执行模型可以通过将查询的并行部分(也称为片段)向外扩展到额外的计算资源,例如从计算资源池租用的计算资源,来提供加速。查询各部分的执行可以由父查询协调器和片段查询协调器来协调,父查询协调器是查询的起源。父查询协调器是查询的起源。父查询协调器是查询的起源。

【技术实现步骤摘要】
【国外来华专利技术】可扩展查询处理
[0001]优先权申请的交叉引用
[0002]本申请要求2020年6月1日提交的美国专利申请序列号16/889,033的优先权,其内容通过引用结合于此。


[0003]本公开一般涉及使用并行处理的可扩展查询处理。
[0004]背景
[0005]随着世界变得更加数据驱动,数据库系统和其他数据系统正在存储越来越多的数据。对于使用这些数据的企业来说,不同的操作或查询通常是在这些大量的数据上运行的。一些操作,例如那些包括大型表扫描的操作,可能要花费大量的时间来执行大量的数据。执行这种操作的时间可以与用于执行的计算资源的数量成比例,因此可以通过使用更多的计算资源来缩短时间。
[0006]为此,一些数据系统可以提供一个计算资源池,这些资源可以被分配来执行不同的操作。然而,在这样的系统中,分配的计算资源通常协同工作(例如作为一个进程组)。因此,他们的分配是固定不变的。因为被分配的计算资源一起工作来执行操作,所以它们通常在开始时被分配它们各自的部分,例如,角色和分配被提前固定。因此,对于可用资源数量的动态变化,这些系统并不灵活。
[0007]此外,这些系统无法跟踪所有计算资源的性能。因此,如果计算资源之一出现错误,整个作业将不得不重新执行,从而浪费时间和资源。
[0008]附图简述
[0009]各种附图仅示出了本公开的示例性实施例,不应被视为限制其范围。
[0010]图1示出了根据一些示例实施例的示例计算环境,其中基于网络的数据仓库系统可以在共享数据库对象上实现流
[0011]图2是示出根据一些示例实施例的计算服务管理器的组件的框图。
[0012]图3是示出根据一些示例实施例的执行平台的组件的框图。
[0013]图4是示出根据一些示例实施例的前台全局服务的框图。
[0014]图5示出了根据一些示例实施例的用于执行查询的流程图。
[0015]图6示出了根据一些示例实施例的查询计划的示例。
[0016]图7示出了根据一些示例实施例的修订的查询计划的示例。
[0017]图8是根据一些示例实施例的查询处理系统的框图。
[0018]图9示出了根据一些示例实施例的输入到输出映射的示例。
[0019]图10是根据一些示例实施例的片段处理系统的框图。
[0020]图11示出了根据一些示例实施例的使用检查点(checkpoint)的片段计划的示例。
[0021]图12是根据一些示例实施例的片段处理环境的框图。
[0022]图13示出了根据一些示例实施例的用于跟踪批处理的流程图。
[0023]图14示出了根据本公开一些实施例的以计算机系统形式的机器的示意图表示,用
于使机器执行本文所讨论方法中的任何一个或更多个的指令集合可以在该计算机系统内执行。
[0024]详细描述
[0025]以下描述包括体现本公开的说明性实施例的系统、方法、技术、指令序列和计算机程序产品。在以下描述中,出于解释的目的,阐述了许多具体细节,以便提供对本专利技术主题的各种实施例的理解。然而,对于本领域技术人员来说,很明显,本专利技术主题的实施例可以在没有这些具体细节的情况下实施。通常,众所周知的指令实例、协议、结构和技术不一定详细示出。
[0026]本公开的实施例可以提供动态查询执行模型。该查询执行模型可以通过将查询的并行部分(也称为片段)向外扩展到额外的计算资源,例如从计算资源池租用的计算资源,来提供加速。查询各部分的执行可以由父查询协调器(查询起源的地方)和片段查询协调器来协调。用于查询的文件可以作为连续扫描集加载到共享文件队列中,当父查询协调器和片段协调器完成处理它们当前分配的批次时,它们可以向该连续扫描集串行地(例如,一次一个)请求文件批次。片段计算资源可以生成实例化结果(materialized results),并将它们加载到另一个共享文件队列中。在连续扫描集中的所有文件被处理之后,实例化结果可以被父查询协调器使用。因此,这种查询执行模型提供了更快的速度和更大的灵活性,尤其是当资源的数量在查询执行过程中可以动态变化时。
[0027]图1示出了根据本公开的一些实施例的实现部署之间的安全消息传递的示例共享数据处理平台100。为了避免用不必要的细节模糊本专利技术主题,图中省略了与传达对本专利技术主题的理解不密切相关的各种功能组件。然而,本领域技术人员将容易认识到,各种附加功能组件可以被包括作为共享数据处理平台100的一部分,以促进本文没有具体描述的附加功能。
[0028]如图所示,共享数据处理平台100包括基于网络的数据仓库系统102、云计算存储平台104(例如,存储平台、服务、Microsoft或Google Cloud)和远程计算设备106。基于网络的数据仓库系统102是基于网络的系统,用于以集成方式存储和访问数据(例如,内部存储数据,访问外部远程数据),以及报告和分析来自一个或更多个不同源(例如,云计算存储平台104)的集成数据。云计算存储平台104包括多个计算机器,并向基于网络的数据仓库系统102按需提供计算机系统资源,如数据存储和计算能力。虽然在图1所示的实施例中,描绘了数据仓库,但是其他实施例可以包括其他类型的数据库或其他数据处理系统。
[0029]远程计算设备106(例如,诸如膝上型计算机的用户设备)包括一个或更多个计算机器(例如,诸如膝上型计算机的用户设备),其执行远程软件组件108(例如,浏览器访问的云服务)以向基于网络的数据仓库系统102的用户提供附加功能。远程软件组件108包括一组机器可读指令(例如,代码),当由远程计算设备106执行时,该指令使得远程计算设备106提供某些功能。远程软件组件108可以对输入数据进行操作,并基于处理、分析或以其他方式转换输入数据来生成结果数据。作为示例,远程软件组件108可以是数据提供者或数据消费者,其实现数据库跟踪过程,例如共享表和视图上的流,如下面进一步详细讨论的。
[0030]基于网络的数据仓库系统102包括访问管理系统110、计算服务管理器112、执行平台114和数据库116。访问管理系统110使得管理用户能够管理对基于网络的数据仓库系统
102所提供的资源和服务的访问。管理用户可以创建和管理用户、角色和组,并使用权限来允许或拒绝对资源和服务的访问。访问管理系统110可以存储共享数据,该共享数据在基于网络的数据仓库系统102的不同用户之间安全地管理对云计算存储平台104的存储资源的共享访问,如下面进一步详细讨论的。
[0031]计算服务管理器112协调和管理基于网络的数据仓库系统102的操作。计算服务管理器112还执行查询优化和编译,以及管理提供计算资源的计算服务集群(例如,虚拟仓库、虚拟机、EC2集群)。计算服务管理器112可以支持任意数量的客户端账户,如提供数据存储和检索请求的终端用户、管理本文描述的系统和方法的系统管理员以及与计算服务管理器112交互的其他组件/设备。
[0032]计算服务管理器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:由一个或更多个处理器接收针对数据集的查询;创建执行所述查询的查询计划;基于一组标准,识别所述查询计划中的有资格进行片段处理的部分;由父查询协调器在所述数据集的第一批次文件上执行所述查询计划的识别的部分,以生成第一批次结果;由片段查询协调器在所述数据集的第二批次文件上执行所述查询的所述识别的部分,以生成实例化结果文件;扫描所述实例化结果文件以生成扫描结果;组合所述第一批次结果和所述扫描结果以生成组合结果;和对所述组合结果执行所述查询计划的剩余部分,以生成对所述查询的响应。2.根据权利要求1所述的方法,还包括:将所述数据集的文件作为连续扫描集加载到第一共享文件队列中;将第一组文件分组为所述第一批次,并将所述第一批次提供给所述父查询协调器;和将第二组文件分组为所述第二批次,并将所述第二批次提供给所述片段查询协调器。3.根据权利要求2所述的方法,还包括:串行地提供附加批次,直到所述连续扫描集中的所有文件都已被提供。4.根据权利要求2所述的方法,其中所述片段查询协调器将所述实例化结果文件加载到输出共享文件队列中。5.根据权利要求1所述的方法,其中所述片段查询协调器使用一个或更多个片段计算资源来执行所述查询的所述识别的部分。6.根据权利要求5所述的方法,其中所述片段计算资源的数量在所述查询的执行期间改变。7.根据权利要求1所述的方法,其中所述一组标准包括所述识别的部分的执行输出是否小于所述识别的部分的输入。8.根据权利要求1所述的方法,其中所述一组标准包括所述识别的部分是否能由计算资源在不与另一计算资源通信的情况下执行。9.根据权利要求8所述的方法,其中所述查询计划包括多个操作符和连接所述操作符的链路,每个链路连接所述多个操作符中的第一操作符和第二操作符,并指示所述第一操作符是否能由计算资源在不与另一计算资源通信的情况下执行。10.根据权利要求1所述的方法,还包括:将所述实例化结果文件与至少另一个实例化结果文件聚合在一起;和其中扫描所述实例化结果文件以生成扫描结果包括扫描聚合的实例化结果文件以生成所述扫描结果。11.一种系统,包括:机器的一个或更多个处理器;和存储器,其存储指令,当由所述一个或更多个处理器执行时,所述指令使得所述机器执行操作,所述操作包括:接收针对数据集的查询;
创建执行所述查询的查询计划;基于一组标准,识别所述查询计划中的有资格进行片段处理的部分;由父查询协调器在所述数据集的第一批次文件上执行所述查询计划的识别的部分,以生成第一批次结果;由片段查询协调器在所述数据集的第二批次文件上执行所述查询的所述识别的部分,以生成实例化结果文件;扫描所述实例化结果文件以生成扫描结果;组合所述第一批次结果和所述扫描结果以生成组合结果;和对所述组合结果执行所述查询计划的剩余部分,以生成对所述查询的响应。12.根据权利要求11所述的系统,所述操作还包括:将所述数据集的文件作为连续扫描集加载到第一共享文件队列中;将第一组文件分组为所述第一批次,并将所述第一批次提供给所述父查询协调器;和将第二组文件分组为所述第二批次,并将所述第二批次提供给所述片段查询协调器。13.根据权利要求12所述的系统,所述操作还包括:串行地提供附加批次,直到所述连续扫描集中的所有文件都已被提供。14.根据权利要求12所述的系统,其中所述片段查询协调器将所述实例化结果...

【专利技术属性】
技术研发人员:蒂埃里
申请(专利权)人:斯诺弗雷克公司
类型:发明
国别省市:

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

1