一种对数据库操作进行加速的方法和装置制造方法及图纸

技术编号:30232606 阅读:13 留言:0更新日期:2021-09-29 10:08
本发明专利技术公开了一种对数据库操作进行加速的方法和装置,应用于连接有硬件加速器的数据库中,该方法包括:当接收到由数据库发送的需要进行加速的初始执行计划树时,根据硬件加速器支持的基本操作和加速资源对初始执行计划树进行处理并生成新执行计划树;若新执行计划树的新执行代价小于初始执行计划树的初始执行代价,根据硬件加速器的组织方式和运行方式将新执行计划树分发至硬件加速器执行;根据硬件加速器返回的执行结果确定硬件加速器对数据库操作加速后的结果数据,从而实现了数据库的执行计划树与进行加速的硬件加速器的执行功能和能力相匹配并保持合理的复杂度,进而充分发挥了该硬件加速器的加速能力。分发挥了该硬件加速器的加速能力。分发挥了该硬件加速器的加速能力。

【技术实现步骤摘要】
一种对数据库操作进行加速的方法和装置


[0001]本申请涉及数据库
,更具体地,涉及一种对数据库操作进行加速的方法和装置。

技术介绍

[0002]过去十年来移动互联网的飞速发展和各行业的数字化改造和转型,各领域都出现了大规模的数据增长,但通用计算能力的发展却面临挑战,半导体技术的改进几乎达到了物理极限,通用处理器性能再无法按照摩尔定律增长。随着5G、云计算、万物互联、人工智能时代的到来,数据的产生、传输、存储和分析处理的要求却越来越高,数据增长对计算性能的要求与处理器性能发展间的缺口越来越大。
[0003]现有技术中,在数据库应用领域,面临海量数据处理分析的性能挑战下,通常采用异构计算解决方案来满足性能需求。通常的硬件加速方案都是在部署数据库软件的服务器上扩展一块PCIe(Peripheral Component Interconnect Express,周边设备高速连接)接口的加速卡,通过将部分数据库操作卸载到加速卡中执行实现数据库处理性能的提升。如何采用硬件尽可能大的提升数据库处理性能,已经成为数据库领域一个重要的技术研究点。
[0004]通常数据库执行如图1所示,用户输入查询请求,经由解析引擎分析后生成解析树,由优化引擎处理后输出查询树并重写为执行计划树,再由执行引擎按照执行计划树实际执行,通过存储引擎读取,缓存或存储最终数据。
[0005]硬件加速通常是由数据库优化引擎输出的,将由执行引擎执行的执行计划树中的部分执行节点卸载到硬件中执行。但硬件受限于资源,功耗和复杂度,并无法实现与软件一样的数量众多的复杂执行功能,通常仅能实现一些基本的关系代数操作,比如选择,投影,连接等。另外,在某些场景下,比如存在子查询等,优化引擎输出的计划树中不同节点存在相似功能,这对硬件能力来说是一种浪费。这都导致当前软件生成的执行计划树中的执行动作并不能很好的匹配硬件的执行功能和能力。
[0006]因此,如何实现数据库的执行计划树与进行加速的硬件加速器的执行功能和能力相匹配并保持合理的复杂度,进而充分发挥该硬件加速器的加速能力,是当前需要解决的技术问题。

技术实现思路

[0007]本专利技术提供一种对数据库操作进行加速的方法,用以解决现有技术中生成的执行计划树不能很好的匹配硬件加速器的执行功能和能力的技术问题,该方法应用于连接有硬件加速器的数据库中,该方法包括:当接收到由所述数据库发送的需要进行加速的初始执行计划树时,根据所述硬件加速器支持的基本操作和加速资源对所述初始执行计划树进行处理并生成新执行计划树;若所述新执行计划树的新执行代价小于所述初始执行计划树的初始执行代价,根
据所述硬件加速器的组织方式和运行方式将所述新执行计划树分发至所述硬件加速器执行;根据所述硬件加速器返回的执行结果确定所述硬件加速器对数据库操作加速后的结果数据;其中,所述新执行代价和所述初始执行代价是基于调用预设代价函数确定的。
[0008]在本申请一些实施例中,根据所述硬件加速器支持的基本操作和加速资源对所述初始执行计划树进行处理并生成新执行计划树,具体为:根据所述基本操作将所述初始执行计划树中执行加速操作的节点进行归一映射,根据归一映射的结果生成与所述硬件加速器匹配的匹配执行计划树;此外,加速映射模块将对应加速执行动作的节点进行归一映射的同时,还将去掉部分功能被整合的节点,再有部分节点进行预处理后再映射。
[0009]根据所述加速资源对所述匹配执行计划树中节点和输出目标列进行优化,并根据优化结果生成所述新执行计划树。
[0010]在本申请一些实施例中,所述归一映射包括归并、和/或删除、和/或新增。
[0011]在本申请一些实施例中,根据所述加速资源对所述匹配执行计划树中节点和输出目标列进行优化,具体为:根据所述加速资源确定所述硬件加速器访问所需数据的方式、各节点执行数据访问的方式、最终输出和后继节点需要使用的列;根据所述硬件加速器访问所需数据的方式确定所述匹配执行计划树中的可并发执行的节点,并将所述匹配执行计划树中对同一数据进行访问的不同执行节点合并为一个执行动作,并根据最终输出和后继节点需要使用的列对输出目标列进行优化;其中,所述硬件加速器访问所需数据的方式包括基于自身内存进行访问、或基于缓存一致性协议对共享内存进行访问、或通过网络对远端存储节点进行访问。
[0012]在本申请一些实施例中,根据所述硬件加速器的组织方式和运行方式将所述新执行计划树分发至所述硬件加速器执行,具体为:根据与所述组织方式和所述运行方式对应的数字孪生图像将一个或多个所述新执行计划树整体发送至所述硬件加速器执行、或将所述新执行计划树按单个节点依次发送至所述硬件加速器执行、或将所述新执行计划树中的多个节点组合发送至所述硬件加速器执行;其中,所述数字孪生图像包括所述硬件加速器的执行模块数量,可执行功能节点的数量,各可执行功能节点的归属关系和可调度的执行粒度。
[0013]在本申请一些实施例中,所述方法还包括:当接收到初始化指令并接收所述硬件加速器发送的包括组织方式和运行方式的自身信息时,根据所述自身信息生成所述数字孪生图像。
[0014]在本申请一些实施例中,所述硬件加速器为多个,各所述硬件加速器分别设置有本地存储单元,在根据所述硬件加速器返回的执行结果确定所述硬件加速器对数据库操作加速后的结果数据之前,所述方法还包括:调整与所述执行结果对应的各所述硬件加速器的缓存和最终数据,以使各所述缓存和各所述最终数据分别保持一致。
[0015]在本申请一些实施例中,在根据所述硬件加速器支持的基本操作和加速资源对所述初始执行计划树进行处理并生成新执行计划树之后,所述方法还包括:若所述新执行代价不小于所述初始执行代价,基于所述数据库执行所述初始执行计划树,并根据执行结果确定数据库操作的结果。
[0016]相应的,本专利技术还提供了一种对数据库操作进行加速的装置,应用于连接有硬件加速器的数据库中,所述装置包括:加速映射模块,用于当接收到由所述数据库发送的需要进行加速的初始执行计划树时,根据所述硬件加速器支持的基本操作和加速资源对所述初始执行计划树进行处理并生成新执行计划树;加速执行引擎,用于若所述新执行计划树的新执行代价小于所述初始执行计划树的初始执行代价,根据所述硬件加速器的组织方式和运行方式将所述新执行计划树分发至所述硬件加速器执行;加速存储引擎模块,用于完成加速部分的内存和外存管理,协调多个所述硬件加速器间的缓存和最终数据的一致;确定模块,用于根据所述硬件加速器返回的执行结果确定所述硬件加速器对数据库操作加速后的结果数据;其中,所述新执行代价和所述初始执行代价是基于调用预设代价函数确定的。
[0017]相应的,本专利技术还提出了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上所述的对数据库操作进行加速的方法。
[0018]通过应用以上技术方案,在连接有硬件加速器的数据库中,当接收到由所述数据库发送的需要进行加速的初始执行计划树本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对数据库操作进行加速的方法,应用于连接有硬件加速器的数据库中,其特征在于,所述方法包括:当接收到由所述数据库发送的需要进行加速的初始执行计划树时,根据所述硬件加速器支持的基本操作和加速资源对所述初始执行计划树进行处理并生成新执行计划树和新执行代价;若所述新执行计划树的新执行代价小于所述初始执行计划树的初始执行代价,根据所述硬件加速器的组织方式和运行方式将所述新执行计划树分发至所述硬件加速器执行;所述硬件加速器返回的执行结果,完成对数据库操作的加速操作;其中,所述新执行代价和所述初始执行代价是基于调用预设代价函数确定的。2.如权利要求1所述的方法,其特征在于,根据所述硬件加速器支持的基本操作和加速资源对所述初始执行计划树进行处理并生成新执行计划树,具体为:根据所述基本操作将所述初始执行计划树中执行加速操作的节点进行归一映射,同时还将去掉部分功能被整合的节点,再将部分节点进行预处理后再映射,然后根据归一映射的结果生成与所述硬件加速器匹配的匹配执行计划树;根据所述加速资源对所述匹配执行计划树中节点和输出目标列进行优化,并根据优化结果生成所述新执行计划树。3.如权利要求2所述的方法,其特征在于,所述归一映射包括归并、和/或删除、和/或新增。4.如权利要求2所述的方法,其特征在于,根据所述加速资源对所述匹配执行计划树中节点和输出目标列进行优化,具体为:根据所述加速资源确定所述硬件加速器访问所需数据的方式、各节点执行数据访问的方式、最终输出和后继节点需要使用的列;根据所述硬件加速器访问所需数据的方式确定所述匹配执行计划树中的可并发执行的节点,并将所述匹配执行计划树中对同一数据进行访问的不同执行节点合并为一个执行动作,并根据最终输出和后继节点需要使用的列对输出目标列进行优化;其中,所述硬件加速器访问所需数据的方式包括基于自身内存进行访问、或基于缓存一致性协议对共享内存进行访问、或通过网络对远端存储节点进行访问。5.如权利要求1所述的方法,其特征在于,根据所述硬件加速器的组织方式和运行方式将所述新执行计划树分发至所述硬件加速器执行,具体为:根据与所述组织方式和所述运行方式对应的数字...

【专利技术属性】
技术研发人员:向俊凌周民刘睿民
申请(专利权)人:威讯柏睿数据科技北京有限公司
类型:发明
国别省市:

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

1