用于处理来自装置的数据库查询的系统和方法制造方法及图纸

技术编号:39436178 阅读:13 留言:0更新日期:2023-11-19 16:19
公开用于处理来自装置的数据库查询的系统和方法。第一命令响应于数据库查询被接收。响应于第一命令,存储装置被发信号以扫描数据库对象中的数据。向存储装置发信号的步骤可包括:发送用于基于数据库查询来配置存储装置的第二命令;发送用于执行对数据库对象中的数据的扫描的第三命令;以及发送用于读取扫描的输出的第四命令,其中,所述输出是对数据库查询的响应。的响应。的响应。

【技术实现步骤摘要】
用于处理来自装置的数据库查询的系统和方法
[0001]本申请要求于2022年5月9日提交到美国专利商标局的第63/339,861号美国临时专利申请的优先权和权益,所述美国专利申请的全部公开通过引用包含于此。


[0002]根据本公开的实施例的一个或多个方面涉及处理数据库查询,更具体地,涉及使用计算存储装置来处理数据库查询。

技术介绍

[0003]可期望使用计算存储装置(例如,具有嵌入式处理器或现场可编程门阵列(FPGA)的固态驱动器(SSD))来进行各种数据处理任务,这样的存储装置可帮助提供高效的并且有成本效益的数据处理解决方案。例如,计算存储装置可用于执行亦可由主机CPU处理器执行的数据库(DB)扫描操作。访问存储装置以进行DB扫描操作在I/O方面可以是昂贵的。
[0004]在本
技术介绍
部分中公开的以上信息仅用于增强对本公开的背景的理解,因此可包含不形成现有技术的信息。

技术实现思路

[0005]公开用于处理来自装置的数据库查询的系统和方法。第一命令响应于数据库查询被接收。响应于第一命令,存储装置被发信号以扫描数据库对象中的数据。向存储装置发信号的步骤可包括:发送用于基于数据库查询来配置存储装置的第二命令;发送用于执行对数据库对象中的数据的扫描的第三命令;以及发送用于读取扫描的输出的第四命令,其中,所述输出是对数据库查询的响应。
[0006]根据一些实施例,所述方法还包括:将所述输出提供给客户端。
[0007]根据一些实施例,配置存储装置的步骤包括:配置存储装置的逻辑以执行数据的扫描。
[0008]根据一些实施例,配置逻辑的步骤包括:将扫描程序加载到存储装置的处理器。
[0009]根据一些实施例,配置存储装置的步骤包括:分配存储装置的第二存储器的用于数据的扫描的区域。
[0010]根据一些实施例,所述方法还包括:识别与数据库对象关联的物理地址;以及将第五命令发送到存储装置,以将数据从物理地址获取到第二存储器的所述区域中。
[0011]根据一些实施例,数据库对象是文件,其中,识别物理地址的步骤包括:识别映射到所述文件的物理地址。
[0012]根据一些实施例,存储装置响应于执行数据的扫描来生成输出,其中,所述输出被存储在第二存储器的区域中。
[0013]根据一些实施例,第一命令从网关被接收,网关被配置为基于存储装置的状态来路由第一命令。
[0014]根据一些实施例,网关被配置为基于所述状态来选择存储装置。
[0015]本公开的实施例还在于一种用于处理来自客户端的数据库查询的系统。所述系统包括:处理器;以及存储器。存储器存储指令,指令在由处理器执行时使处理器:响应于数据库查询来接收第一命令;并且响应于第一命令,向存储装置发信号以扫描数据库对象中的数据。向存储装置发信号的步骤可包括:发送用于基于数据库查询来配置存储装置的第二命令;发送用于执行对数据库对象中的数据的扫描的第三命令;以及发送用于读取扫描的输出的第四命令,其中,输出响应于数据库查询。
[0016]当针对下面的具体实施方式、所附权利要求和附图进行考虑时,将更全面地理解本公开的实施例的这些和其他特征、方面和优点。当然,专利技术的实际范围由所附权利要求限定。
附图说明
[0017]参照下面的附图描述本实施例的非限制性和非穷举性实施例,其中,除非另有指定,否则贯穿各个图,相同的参考标号表示相同的部件。
[0018]图1描绘根据一个实施例的用于处理数据库查询(DB)的系统的框图;
[0019]图2描绘根据一个实施例的主机装置和存储装置的架构的框图;
[0020]图3描绘根据一个实施例的用于处理DB查询的处理的流程图;
[0021]图4描绘根据一个实施例的用于将DB扫描卸载到存储装置的处理的流程图;
[0022]图5描绘根据一个实施例的用于处理服务请求/查询并将服务请求/查询分发到一个或多个计算存储装置的系统的框图;以及
[0023]图6描绘根据一个实施例的用于处理服务请求并将服务请求分发到一个或多个计算存储装置的处理的流程图。
具体实施方式
[0024]在下文中,将参照附图更详细地描述示例实施例,其中,相同的参考标号始终表示相同的元件。然而,本公开可以以各种不同的形式来实现,并且不应被解释为仅限于在此示出的实施例。相反地,提供这些实施例作为示例,使得本公开将是彻底的和完整的,并且将本公开的方面和特征充分传达给本领域技术人员。因此,可不描述对于本领域普通技术人员完全理解本公开的方面和特征不是必须的处理、元件和技术。除非另外说明,否则贯穿附图和书面描述,相同的参考标号表示相同的元件,因此,它们的描述可不被重复。此外,在附图中,为了清楚,可夸大和/或简化元件、层和区域的相对尺寸。
[0025]存储在数据库(DB)中的数据可被建立索引或不被建立索引。如果数据未被建立索引,则可以需要数据库的全扫描(也被称为全表/DB扫描)来响应DB查询。由于例如扫描数据库所需的大量输入/输出(I/O)读取,全表扫描可能很慢。全表扫描还可使用主机装置的大量存储器和计算资源,因为在全扫描期间,可需要检查数据库中的每个行以查看查询中的一个或多个列是否满足查询标准。
[0026]在数据存储和处理的领域中,建立索引通常可在处理DB查询时优化数据库的性能。当DB的内容未被建立索引时,可以需要全DB扫描。例如,当执行对包含未被建立索引的数据的DB的搜索时,主机装置可以需要将DB加载到主机装置的存储器上,并且使用主机装置的计算资源来执行对存储器中的DB的全扫描。因此,可以期望具有用于以最小化主机资
源的使用同时提供更好(例如,更快)的扫描性能和可扩展性的方式执行DB扫描操作的系统和方法。
[0027]一般而言,本公开的实施例在于用于将DB扫描操作卸载到一个或多个计算存储装置的系统和方法。卸载扫描操作可帮助将扫描开销分离到执行扫描操作的一个或多个装置,帮助减少主机资源使用,并增大扫描速度。
[0028]本公开的实施例提供命令集、通信机制和数据结构,以支持穿过主机装置和一个或多个计算存储装置的多个数据处理层的数据流。在一个实施例中,微服务网关和/或扫描处理引擎帮助克服在数据库管理系统(DBMS)中利用计算存储装置的典型挑战。这样的挑战可涉及许可(例如,DBMS通常不以根特权运行)、复杂性(例如,用于I/O请求和扫描操作的调度)和可扩展性(例如,用于支持本地和/或远程存储装置)。
[0029]在一个实施例中,对存储装置的服务请求可经由微服务网关而被路由。微服务网关可用作存储装置的客户端应用与服务应用之间的接口层。由客户端应用请求的示例性服务可以是例如允许将扫描操作卸载到存储装置的定制DB扫描请求。尽管扫描卸载被用作服务请求的示例,但是本公开的实施例不限于此,并且可包括包含I/O请求的其他服务请求。
[0030]在一个实施例中,微服务网关包括可由客户端应用访问以发送服务请求的应用编程接口(API)。例如,主本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于处理来自装置的数据库查询的方法,所述方法包括:接收响应于数据库查询的第一命令;以及响应于第一命令,向存储装置发信号以扫描数据库对象中的数据,向存储装置发信号的步骤包括:发送用于基于数据库查询来配置存储装置的第二命令;发送用于执行对数据库对象中的数据的扫描的第三命令;以及发送用于读取扫描的输出的第四命令,其中,所述输出是对数据库查询的响应。2.根据权利要求1所述的方法,还包括:将所述输出提供给客户端。3.根据权利要求1所述的方法,其中,配置存储装置的步骤包括:配置存储装置的逻辑以执行数据的扫描。4.根据权利要求3所述的方法,其中,配置逻辑的步骤包括:将扫描程序加载到存储装置的处理器。5.根据权利要求1所述的方法,其中,配置存储装置的步骤包括:分配存储装置的第二存储器的用于数据的扫描的区域。6.根据权利要求5所述的方法,还包括:识别与数据库对象关联的物理地址;以及将第五命令发送到存储装置,以将数据从物理地址获取到第二存储器的所述区域中。7.根据权利要求6所述的方法,其中,数据库对象是文件,其中,识别物理地址的步骤包括:识别映射到所述文件的物理地址。8.根据权利要求5所述的方法,其中,存储装置响应于执行数据的扫描来生成输出,其中,所述输出被存储在第二存储器的所述区域中。9.根据权利要求1至8中的任何一项所述的方法,其中,第一命令从网关被接收,网关被配置为基于存储装置的状态来路由第一命令。10.根据权利要求9所述的方法,其中,网关被配置为基于所述状态来选择存储装置。11.一种用于处理来自客户端的数据库查询的系统,所述系统包括:处理器;以及存储器,其中,存...

【专利技术属性】
技术研发人员:奇亮奭崔昌皓姜亮旭
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

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

1