通过下推过滤进行分析的多租户存储制造技术

技术编号:29419268 阅读:40 留言:0更新日期:2021-07-23 23:13
描述了用于使用下推过滤进行分析的多租户存储的技术。一种多租户存储服务可以包括可被分组到机架中的资源,其中每个机架提供客户端服务可以向其提交查询的不同端点。每个机架可以包括接口节点和存储节点。所述接口节点可以通过将接收到的查询拆分为要由所述存储节点执行的多个块来预处理所述查询。每个存储节点都包括现场可编程门阵列(FPGA)和CPU。所述CPU可以接收所述操作,并且将所述操作转换为可以由所述FPGA执行的指令。所述指令可以包括指向数据的指针以及所述FPGA对所述数据执行的操作。所述FPGA可以处理数据流并返回经由所述接口节点返回的处理结果。

【技术实现步骤摘要】
【国外来华专利技术】通过下推过滤进行分析的多租户存储
技术介绍
许多公司和其他组织运营计算机网络,所述计算机网络将多个计算系统互连来支持其运营,诸如所述计算系统位于同一地点(例如,作为本地网络的一部分)或替代地位于多个不同的地理位置(例如,经由一个或多个私有或公共中间网络连接)。例如,容纳大量互连计算系统的数据中心已经变得常见,诸如由单个组织运营并代表所述单个组织的私有数据中心,以及由作为企业的实体运营以向客户提供计算资源的公共数据中心。一些公共数据中心运营商为各种客户所拥有的硬件提供网络访问、电力和安全安装设施,而其他公共数据中心运营商提供还包括可供其客户使用的硬件资源的“全面服务”设施。然而,随着典型数据中心的规模和范围增加,预配、实施和管理物理计算资源的任务已经变得越来越复杂。用于商品硬件的虚拟化技术的出现在为具有多种需求的许多客户管理大规模计算资源方面提供了益处,从而允许各种计算资源被多个客户高效且安全地共享。例如,虚拟化技术可以通过向每个用户提供由单个物理计算机器托管的一个或多个虚拟机而允许单个物理计算机器在多个用户之间共享,其中每个这种虚拟机都是充当不同逻辑计算系统的软件模拟,所述软件模拟向用户提供他们是给定硬件计算资源的唯一操作员和管理员这一错觉,同时还在各种虚拟机之间提供应用隔离和安全性。此外,一些虚拟化技术能够提供跨越两个或更多个物理资源的虚拟资源,诸如具有跨越多个不同物理计算系统的多个虚拟处理器的单个虚拟机。作为另一示例,虚拟化技术可以通过向每个用户提供可以分布在多个数据存储装置上的虚拟化数据存储区而允许数据存储硬件在多个用户之间共享,其中每个这种虚拟化数据存储区充当不同的逻辑数据存储区,所述逻辑数据存储区向用户提供他们是数据存储资源的唯一操作员和管理员这一错觉。附图说明将参考附图描述根据本公开的各种实施方案,在附图中:图1是示出根据一些实施方案的用于通过下推过滤进行分析的多租户存储的环境的图示。图2是示出根据一些实施方案的用于通过下推过滤进行分析的多租户存储的环境中的数据流的图示。图3是示出根据一些实施方案的示例性存储节点的图示。图4是示出根据一些实施方案的查询计划划分的示例的图示。图5是示出根据一些实施方案的用于通过下推过滤进行分析的多租户存储的方法的操作的流程图。图6示出了根据一些实施方案的示例性提供商网络环境。图7是根据一些实施方案的向客户提供存储服务和硬件虚拟化服务的示例性提供商网络的框图。图8是示出了可以在一些实施方案中使用的示例性计算机系统的框图。具体实施方式描述了用于通过下推过滤进行分析的多租户存储的方法、设备、系统和非暂时性计算机可读存储介质的各种实施方案。根据一些实施方案,一种多租户存储服务可以包括可被分组到机架中的资源,其中每个机架提供诸如查询引擎的客户端服务可以向其提交查询的不同端点。可以将查询处理下推到机架,所述机架可以包括多个接口节点和多个存储节点。接口节点可以通过将接收到的查询拆分为要由存储节点执行的多个块(例如,要对数据流执行的一个或多个操作)来预处理所述查询。接口节点可以基于请求将操作发送到存储节点。每个存储节点包括被配置为流处理器和CPU的现场可编程门阵列(FPGA)。CPU可以从接口节点接收操作,并将所述操作转换为可以由FPGA执行的指令。指令可以包括指向存储在存储节点上的数据的指针,以及在数据流传输通过时FPGA对数据执行的操作。然后,CPU可以将指令提供给FPGA,以处理数据流并返回处理结果。可以将结果返回到接口节点,该接口节点将结果返回给请求者。数据湖为客户数据(包括结构化和非结构化数据)提供了集中式库。这允许客户在单个位置以任何可用的格式或类型存储其所有数据。然而,数据湖可能无法被多个客户端工具访问。例如,数据湖通常被实现为使得只能使用其自己的接口将数据添加到数据湖或从数据湖中检索数据。这限制了访问分析工具,其是可用的,但是在没有要求客户先将数据从数据湖中传送出并添加到分析工具可访问的源中的情况下,则可能无法访问客户的数据。这也限制了组合使用多个分析工具的能力。另外,大型存储服务底层的基础结构无法扩展成向多个客户提供多租户数据湖。这些存储服务通常至少部分地从存储服务内的各个存储位置检索数据并重新汇编数据。这需要先通过网络传送大量数据,然后才能对数字进行处理,并导致网络和CPU瓶颈,从而降低性能。图1是示出根据一些实施方案的用于通过下推过滤进行分析的多租户存储的环境的图示。实施方案通过提供可以与各种客户端服务介接并将处理下推到存储节点的存储基础结构来解决这些缺点。这使得数据能够在存储节点上进行本地处理,其中仅处理结果(例如,查询结果等)通过网络传送。在各种实施方案中,提供商网络100可以提供多租户存储服务101,该多租户存储服务包括可以被分组为机架102A至102C的资源集。每个机架可以提供客户端查询引擎104可以连接以向机架提交请求的不同端点(例如,外部交换机109),所述请求的处理可以被下推。每个机架102可以包括多个接口节点110A至110C和多个存储节点114A至114C。尽管在图1中示出了相等数量的接口节点和存储节点,但是在各种实施方案中,取决于性能要求、存储要求等,接口节点的数量可以大于或小于存储节点的数量。高速的机架内联网允许任何接口节点通过内部交换机112与任何存储节点进行通信。提供商网络100为用户提供利用各种类型的计算相关资源中的一者或多者的能力,所述计算相关资源诸如计算资源(例如,执行虚拟机(VM)实例和/或容器、执行批作业、执行代码而不预配服务器)、数据/存储资源(例如,对象存储、块级存储、数据档案存储、数据库和数据库表等)、网络相关资源(例如,配置虚拟网络(包括多组计算资源)、内容传递网络(CDN)、域名服务(DNS))、应用程序资源(例如,数据库、应用构建/部署服务)、访问策略或角色、身份策略或角色、机器图像、路由器及其他数据处理资源等。这些和其他计算资源可以作为服务提供,所述服务诸如:可以执行计算实例的硬件虚拟化服务、可以存储数据对象的存储服务等。提供商网络100的用户(或“客户”)可以利用与客户账户相关联的一个或多个用户账户,但是可以根据使用的情境稍微可互换地使用这些项。用户可以经由一个或多个接口在一个或多个中间网络106(例如,因特网)上与提供商网络100交互,诸如通过使用应用程序编程接口(API)调用、经由被实现为网站或应用程序的控制台等。一个或多个接口可以是提供商网络100的控制平面的一部分,或者用作其前端,其包括支持和启用可能会更直接地提供给客户的服务的“后端”服务。为了提供这些和其他计算资源服务,提供商网络100通常依赖于虚拟化技术。例如,虚拟化技术可以用于为用户提供控制或利用计算实例(例如,使用客机操作系统(O/S)的VM,所述客机操作系统使用管理程序操作,所述管理程序可能会或可能不会进一步在底层主机O/S之上运行;可以或可以不在VM中操作的容器;可以在没有底层管理程序的“裸金属”硬件上执行的实例)的能力,其中可以使用单个电子装置本文档来自技高网...

【技术保护点】
1.一种计算机实现的方法,其包括:/n接收对数据执行查询的请求,所述数据存储在多租户存储服务中的多个存储节点中;/n将所述请求发送到所述多租户存储服务的接口节点,所述接口节点用于标识要由存储节点执行的至少一个子查询,所述存储节点包括连接到自定义数字逻辑的多个存储装置;/n指示所述自定义数字逻辑执行所述子查询;/n致使所述自定义数字逻辑对来自所述存储节点中的多个存储位置的流数据执行所述子查询以生成查询结果;以及/n经由所述接口节点返回所述查询结果。/n

【技术特征摘要】
【国外来华专利技术】20181214 US 16/220,8241.一种计算机实现的方法,其包括:
接收对数据执行查询的请求,所述数据存储在多租户存储服务中的多个存储节点中;
将所述请求发送到所述多租户存储服务的接口节点,所述接口节点用于标识要由存储节点执行的至少一个子查询,所述存储节点包括连接到自定义数字逻辑的多个存储装置;
指示所述自定义数字逻辑执行所述子查询;
致使所述自定义数字逻辑对来自所述存储节点中的多个存储位置的流数据执行所述子查询以生成查询结果;以及
经由所述接口节点返回所述查询结果。


2.如权利要求1所述的计算机实现的方法,其中所述自定义数字逻辑包括用于连接到所述多个存储装置的第一接口和用于连接到处理器的第二接口,所述处理器用于指示所述自定义数字逻辑执行所述子查询并向所述自定义数字逻辑提供包括指向所述多个存储装置上的所述数据的位置的指针的多个数据指令。


3.如权利要求1或2中任一项所述的计算机实现的方法,其中经由所述接口节点返回所述查询结果还包括:
将所述查询结果流传输到所述处理器的存储器,一旦已由所述处理器接收到可配置量的所述查询结果,所述处理器就用于将所述查询结果的子集返回到所述接口节点。


4.如权利要求1至3中任一项所述的计算机实现的方法,其中指示所述自定义数字逻辑执行所述子查询还包括:
通过所述接口节点基于所述子查询生成至少一个分析指令;以及
将所述至少一个分析指令发送到所述存储节点的所述处理器,所述处理器用于将所述自定义数字逻辑中的一组数据管道配置为实现所述子查询的至少一部分。


5.如权利要求1至4中任一项所述的计算机实现的方法,其中所述接口节点使用具有数据到存储节点的映射的目录来标识用于执行所述子查询的所述存储节点。


6.如权利要求1至5中任一项所述的计算机实现的方法,其中所述请求包括与所述查询相对应的查询执行计划的序列化表示。


7.如权利要求1至6中任一项所述的计算机实现的方法,其还包括:
发布支持的操作的库,所述库用于在所述子查询被发送到所述自定义数字逻辑以被执行之前,验证所述子查询。


8.如权利要求1至7中任一项所述的计算机实现的方法,其中查询引擎将获得所述多租户存储服务中的、执行所述查询的请求要发送至其的端点的请求发送到数据目录。


9.如...

【专利技术属性】
技术研发人员:A·E·考德威尔A·古普塔A·S·哈特曼N·A·戈尔斯通
申请(专利权)人:亚马逊技术股份有限公司
类型:发明
国别省市:美国;US

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

1