数据处理的方法、装置和计算系统制造方法及图纸

技术编号:36328118 阅读:53 留言:0更新日期:2023-01-14 17:36
一种数据处理的方法、装置和计算系统,涉及数据库领域。计算设备获取到对关系型数据库的第一操作命令后,确定第一操作命令的加速策略,依据加速策略执行第一操作命令的操作。如此,计算设备依据加速策略指示的对第一操作命令的处理过程进行加速的方式对第一操作命令的处理过程进行加速后,减少了计算设备处理第一操作命令的时长,提升了关系型数据库的性能,提高了硬件资源利用率。提高了硬件资源利用率。提高了硬件资源利用率。

【技术实现步骤摘要】
数据处理的方法、装置和计算系统


[0001]本申请涉及数据库领域,尤其涉及一种数据处理的方法、装置和计算系统。

技术介绍

[0002]关系型数据库是指基于关系模型组织数据,并以行和列的形式存储数据的数据库,例如,PostgreSQL,MySQL,openGauss均属于关系型数据库。关系型数据库具有高并发特征,即大量用户访问关系型数据库中相关数据的特性。通常,为了确保数据正确的条件下尽可能快地向用户反馈结果,通过多核处理器、扩展计算和存储资源等方法来提升关系型数据库的处理性能。但硬件资源的横向扩展并不能从根本上解决关系型数据库的处理性能问题。例如,处理器基于火山模型将对关系型数据库的操作命令转换为多个算子,多个算子通过多次递归调用实现对关系型数据库的操作,则导致关系型数据库的性能降低,以及硬件资源利用率降低。因此,如何提高关系型数据库的性能和硬件资源利用率是亟待解决的问题。

技术实现思路

[0003]本申请提供了数据处理的方法、装置和计算系统,由此来确保提高关系型数据库的性能和硬件资源利用率。
[0004]第一方面,提供了一种数据处理方法,该方法可以由计算设备执行,所述方法具体包括计算设备获取到对关系型数据库的第一操作命令后,确定第一操作命令的加速策略,依据加速策略执行第一操作命令的操作。加速策略用于指示对第一操作命令的处理过程进行加速的方式。
[0005]如此,计算设备依据加速策略对第一操作命令的处理过程进行加速后,减少了计算设备处理第一操作命令的时长,提升了关系型数据库的性能,提高了硬件资源利用率。
[0006]在一种可能的实现方式中,计算设备确定第一操作命令的加速策略包括计算设备根据第一操作命令的标识确定处理模式,其中,标识用于指示第一操作命令所能采用的处理模式,处理模式包括采用旁路框架执行第一操作命令的处理。
[0007]示例地,计算设备选择旁路框架处理第一操作命令的操作。计算设备根据第一操作命令确定操作步骤集合后,根据第一操作命令的类型对操作步骤集合中操作步骤进行合并操作,获得合并后操作步骤集合,进而,计算设备根据合并后操作步骤集合完成第一操作命令。操作步骤集合包括执行第一操作命令所需的操作步骤。
[0008]如此,相对于基于执行框架对多个算子通过多次递归调用实现对关系型数据库的操作,本申请实施例提供的基于加速策略指示的处理模式,即基于旁路框架对多个算子进行合并,得到合并后算子,执行合并后算子减少算子间递归调用的次数,尽可能快地完成对关系数据库的操作得到操作结果,提升了关系型数据库的性能,以及避免硬件占用过多的资源执行算子间递归调用的过程,提高了硬件资源利用率。
[0009]在另一种可能的实现方式中,计算设备确定第一操作命令的加速策略包括在第一
操作命令所关联的数据表中采用动态分区剪枝方式确定目标分区。
[0010]示例地,计算设备根据第一操作命令的操作指示的目标分区的属性从数据表中确定目标分区,对目标分区执行第一操作命令的操作。目标分区包含了数据表中至少一个属性的数据。
[0011]如此,计算设备中的执行器可以根据分区标识指示的分区,修改SQL语句执行计划,使执行器动态地根据访问分区标识指示的目标分区,避免对无用分区进行扫描,降低了竞争资源,提升了关系型数据库的性能。
[0012]在另一种可能的实现方式中,方法还包括:计算设备根据第一规则并行地将第一操作日志组中操作日志存储至存储器,第一操作日志组包括至少两个操作日志,至少两个操作日志包括第一操作日志,其中,第一规则用于判断第一操作日志组中操作日志是否满足存储至存储器的条件。
[0013]具体地,计算设备以第一操作日志组获取重做日志缓冲区的写入权限,将第一操作日志组中的日志并行地写入重做日志缓冲区,以及将重做日志缓冲区中满足允许写状态的至少一个日志从重做日志缓冲区并行地写入磁盘。
[0014]示例地,重做日志写线程将重做日志写入重做日志缓冲区。重做日志写线程检测重做日志缓冲区中可以写入磁盘的重做日志。可选地,重做日志写线程检测重做日志缓冲区中连续的写入磁盘的重做日志。重做日志写线程根据待写入磁盘的日志量初始化磁盘中存储日志文件的存储空间。重做日志写线程将重做日志缓冲区中连续的可以写入磁盘的重做日志写入磁盘。
[0015]可选地,上述重做日志写线程(walwriter)初始化磁盘中存储日志文件的存储空间的步骤可以由重做日志文件初始化线程(walfileinit)执行。将重做日志从重做日志缓冲区写入磁盘的步骤可以重做日志刷盘线程(walflusher)执行。
[0016]从而,计算设备将多个事务日志合并为一个组,以组抢占重做日志缓冲区的写入权限,并将组内的事务日志并行地写入重做日志缓冲区,减少重做日志缓冲区的写入权限的争抢次数,提升写入事务日志的效率。另外,计算设备中的重做日志写线程将重做日志写入重做日志缓冲区的过程和重做日志写入磁盘的过程进行了解耦,日志写线程无需等待释放重做日志缓冲区的写入权限,根据数组记录了日志的日志状态将日志写入磁盘,解除了重做日志缓冲区的写入权限的限制,提升了关系型数据库的整体性能。
[0017]其中,第一规则包括:获取到存储器中用于存储日志的重做日志缓冲区的写入权限,或者,第一操作日志组包括的至少一个操作日志的状态为允许写状态。
[0018]在另一种可能的实现方式中,在根据第一规则并行地将第一操作日志组中操作日志存储至存储器之前,方法还包括:根据待写入操作日志的数量划分第一操作日志组。
[0019]其中,关系型数据库为openGauss,操作日志包括重写日志(redo log)和预写日志(Write Ahead log)中至少一种。
[0020]第二方面,提供了一种数据处理装置,所述装置包括用于执行第一方面或第一方面任一种可能设计中的数据处理方法的各个模块。
[0021]第三方面,提供一种计算系统,该计算系统包括至少一个处理器和存储器,存储器用于存储一组计算机指令;当处理器作为第一方面或第一方面任一种可能实现方式中的执行设备执行所述一组计算机指令时,执行第一方面或第一方面任一种可能实现方式中的数
据处理方法的操作步骤。
[0022]作为一种可能的实现方式,计算系统可以为单个计算设备或者为由多个计算设备构成的集群。
[0023]第四方面,提供一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在终端中运行时,使得计算机执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
[0024]第五方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
[0025]本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
[0026]图1为本申请提供的一种数据库系统的示意图;
[0027]图2为本申请提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理的方法,其特征在于,所述方法包括:获取第一操作命令,所述第一操作命令用于在关系型数据库中执行数据处理;确定所述第一操作命令的加速策略,所述加速策略用于对所述第一操作命令的处理过程进行加速;根据所述加速策略执行所述第一操作命令的操作。2.根据权利要求1所述的方法,其特征在于,所述确定所述第一操作命令的加速策略,包括以下方式中至少一种:根据所述第一操作命令的标识确定处理模式,其中,所述标识用于指示所述第一操作命令所能采用的处理模式,所述处理模式包括采用旁路框架执行所述第一操作命令的处理;或者,在所述第一操作命令所关联的数据表中采用动态分区剪枝方式确定目标分区。3.根据权利要求2所述的方法,其特征在于,所述根据所述第一操作命令的标识确定处理模式,包括:根据所述第一操作命令确定操作步骤集合,所述操作步骤集合包括执行所述第一操作命令所需的操作步骤;根据所述第一操作命令的类型对所述操作步骤集合中操作步骤进行合并操作,获得合并后操作步骤集合;则所述根据所述加速策略执行所述第一操作命令的操作,包括:根据所述合并后操作步骤集合完成所述第一操作命令。4.根据权利要求2所述的方法,其特征在于,在所述第一操作命令所关联的数据表中采用动态分区剪枝方式确定目标分区,包括:根据所述第一操作命令的操作指示的所述目标分区的属性从所述数据表中确定所述目标分区,所述目标分区包含了所述数据表中至少一个属性的数据;则所述根据所述加速策略执行所述第一操作命令的操作,包括:对所述目标分区执行所述第一操作命令的操作。5.根据权利要求1至4中任一所述的方法,其特征在于,所述方法还包括:根据第一规则并行地将第一操作日志组中操作日志存储至存储器,所述第一操作日志组包括至少两个操作日志,所述至少两个操作日志包括所述第一操作日志,其中,所述第一规则用于判断所述第一操作日志组中操作日志是否满足存储至所述存储器的条件。6.根据权利要求5所述的方法,其特征在于,所述第一规则包括:获取到所述存储器中用于存储日志的重做日志缓冲区的写入权限,或者,所述第一操作日志组包括的至少一个操作日志的状态为允许写状态。7.根据权利要求5或6所述的方法,其特征在于,在所述根据第一规则并行地将第一操作日志组中操作日志存储至存储器之前,所述方法还包括:根据待写入操作日志的数量划分第一操作日志组。8.根据权利要求1至7中任一所述的方法,其特征在于,所述关系型数据库为openGauss,所述操作日志包括重写日志redo log和预写日志Write Ahead log中至少一种。9.一种数据处理的装置,其特征在于,所述装置包括:
通信模块,用于获取第一操作命令,...

【专利技术属性】
技术研发人员:阙鸣健冯犇薛忠斌陆云飞郑渊悦
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1