针对目标数据库的数据处理方法及装置制造方法及图纸

技术编号:35213312 阅读:26 留言:0更新日期:2022-10-15 10:27
本说明书实施例提供了针对目标数据库的数据处理方法及装置,目标数据库的存储架构包括第一存储层、第二存储层和第三存储层,该方法包括:在第一存储层、第二存储层和第三存储层的主键值中,确定出最小的主键值;响应于该最小的主键值的来源存储层仅包括第三存储层,将该最小的主键值作为第一边界主键值,并在第一存储层和第二存储层的主键值中,确定出最小的主键值作为第二边界主键值;从第三存储层中,获取主键值处于第一边界主键值和第二边界主键值范围内的数据行,并将所获取的数据行输出至上层的计算算子;其中,该范围不包含第二边界主键值。边界主键值。边界主键值。

【技术实现步骤摘要】
针对目标数据库的数据处理方法及装置


[0001]本说明书实施例涉及数据库
,具体地,涉及针对目标数据库的数据处理方法及装置。

技术介绍

[0002]目前,有些数据库采用的存储架构包括多个存储层,具有相同主键值的数据因写入和更新的时间不同,可能分散存储在不同存储层中。基于这样的情况,在数据库中进行计算时,如在数据查询执行过程中执行下推计算时,需要先将多层数据融合,这不仅成为了计算的瓶颈,还阻塞了批量计算。
[0003]因此,迫切需要一种合理、可靠的方案,能够提升采用上述存储架构的数据库的计算性能。

技术实现思路

[0004]本说明书实施例提供了针对目标数据库的数据处理方法及装置,能够提升目标数据库的计算性能。
[0005]第一方面,本说明书实施例提供了一种针对目标数据库的数据处理方法,所述目标数据库的存储架构包括第一存储层、第二存储层和第三存储层,所述方法包括:在所述第一存储层、第二存储层和第三存储层的主键值中,确定出最小的主键值;响应于所述最小的主键值的来源存储层仅包括所述第三存储层,将所述最小的主键值作为第一边界主键值,并在所述第一存储层和所述第二存储层的主键值中,确定出最小的主键值作为第二边界主键值;从所述第三存储层中,获取主键值处于所述第一边界主键值和所述第二边界主键值范围内的数据行,并将所获取的数据行输出至上层的计算算子;其中,所述范围不包含所述第二边界主键值。
[0006]在一些实施例中,所述在所述第一存储层、第二存储层和第三存储层的主键值中,确定出最小的主键值,包括:分别在各存储层中读取主键值最小的一行数据,从而得到来源于所述第一存储层的第一数据行,来源于所述第二存储层的第二数据行,以及来源于所述第三存储层的第三数据行;在所述第一数据行、所述第二数据行和所述第三数据行的主键值中,确定出最小的主键值;所述在所述第一存储层和所述第二存储层的主键值中,确定出最小的主键值,包括:在所述第一数据行和所述第二数据行的主键值中,确定出最小的主键值。
[0007]在一些实施例中,各存储层具有各自的扫描迭代器,所述扫描迭代器用于按主键值由小到大的顺序,对其对应的存储层进行数据扫描,并且各存储层各自的扫描迭代器已被放入败者树;以及所述分别在各存储层中读取主键值最小的一行数据,包括:利用所述败者树,在各存储层各自的扫描迭代器中分别读取一行数据;所述在所述第一数据行、所述第二数据行和所述第三数据行的主键值中,确定出最小的主键值,包括:利用所述败者树,在所述第一数据行、所述第二数据行和所述第三数据行的主键值中,确定出最小的主键值;所
述在所述第一数据行和所述第二数据行的主键值中,确定出最小的主键值,包括:利用所述败者树,在所述第一数据行和所述第二数据行的主键值中,确定出最小的主键值。
[0008]在一些实施例中,所述利用所述败者树,在所述第一数据行和所述第二数据行的主键值中,确定出最小的主键值,包括:从所述败者树中移除所述第三存储层的扫描迭代器;利用所述败者树,从剩余的扫描迭代器中读取所述第一数据行和所述第二数据行中主键值最小的数据行,从而确定出最小的主键值。
[0009]在一些实施例中,在所述从而确定出最小的主键值之后,还包括:将所述第三存储层的扫描迭代器放回所述败者树。
[0010]在一些实施例中,所述方法还包括:创建各存储层各自的扫描迭代器;将所创建的各扫描迭代器放入所述败者树。
[0011]在一些实施例中,在所述第一存储层、第二存储层和第三存储层的主键值中,确定出最小的主键值之后,还包括:记录该最小的主键值的来源存储层。
[0012]在一些实施例中,所述第三存储层包括若干第一分块,任意的第一分块包括若干第二分块,任意的第二分块包括若干数据行;以及所述从所述第三存储层中,获取主键值处于所述第一边界主键值和所述第二边界主键值范围内的数据行,包括:在所述第三存储层的第二分块中,确定出满足所述范围的各个第二分块;从所述各个第二分块中获取数据行。
[0013]在一些实施例中,任意的第二分块记录有其包含的各个数据行的最大主键值;以及所述确定出满足所述范围的各个第二分块,包括:确定出所记录的最大主键值处于所述范围内的各个第二分块。
[0014]在一些实施例中,在所述确定出满足所述范围的各个第二分块之后,还包括:为所述各个第二分块分别添加目标标记,其用于指示对应的第二分块满足所述范围;所述从所述各个第二分块中获取数据行,包括:依次遍历添加有所述目标标记的所述各个第二分块,从而获取到所述各个第二分块中的数据行。
[0015]在一些实施例中,所述存储架构为日志结构合并树LSM

Tree。
[0016]在一些实施例中,所述第一存储层位于内存,所述第二存储层和所述第三存储层位于磁盘,并且各存储层中的数据基于主键升序排列。
[0017]第二方面,本说明书实施例提供了一种针对目标数据库的数据处理装置,所述目标数据库的存储架构包括第一存储层、第二存储层和第三存储层,所述装置包括:第一确定单元,被配置成在所述第一存储层、第二存储层和第三存储层的主键值中,确定出最小的主键值;第二确定单元,被配置成响应于所述最小的主键值的来源存储层仅包括所述第三存储层,将所述最小的主键值作为第一边界主键值,并在所述第一存储层和所述第二存储层的主键值中,确定出最小的主键值作为第二边界主键值;处理单元,被配置成从所述第三存储层中,获取主键值处于所述第一边界主键值和所述第二边界主键值范围内的数据行,并将所获取的数据行输出至上层的计算算子;其中,所述范围不包含所述第二边界主键值。
[0018]第三方面,本说明书实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,当该计算机程序在计算机中执行时,令该计算机执行如第一方面中任一实现方式描述的方法。
[0019]第四方面,本说明书实施例提供了一种计算设备,包括存储器和处理器,其中,该存储器中存储有可执行代码,该处理器执行该可执行代码时,实现如第一方面中任一实现
方式描述的方法。
[0020]第五方面,本说明书实施例提供了一种计算机程序,其中,当该计算机程序在计算机中执行时,令该计算机执行如第一方面中任一实现方式描述的方法。
[0021]本说明书的上述实施例提供的方案中的目标数据库,包括第一存储层、第二存储层和第三存储层。在该方案中,可以在第一存储层、第二存储层和第三存储层的主键值中,确定出最小的主键值。之后,可以在该最小的主键值的来源存储层仅包括第三存储层时,将该最小的主键值作为第一边界主键值,并在第一存储层和第二存储层的主键值中,确定出最小的主键值作为第二边界主键值。由于第二边界主键值是第一存储层和第二存储层的主键值中最小的主键值,因而主键值大于等于第一边界主键值且小于第二边界主键值的数据行,应仅出在第三存储层中,而不会出现在第一存储层和第二存储层中。
[0022]因此,可以接着从第三存储层中,获取主键值处于第一边界主键值和第二边界主键值范围内的数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对目标数据库的数据处理方法,所述目标数据库的存储架构包括第一存储层、第二存储层和第三存储层,所述方法包括:在所述第一存储层、第二存储层和第三存储层的主键值中,确定出最小的主键值;响应于所述最小的主键值的来源存储层仅包括所述第三存储层,将所述最小的主键值作为第一边界主键值,并在所述第一存储层和所述第二存储层的主键值中,确定出最小的主键值作为第二边界主键值;从所述第三存储层中,获取主键值处于所述第一边界主键值和所述第二边界主键值范围内的数据行,并将所获取的数据行输出至上层的计算算子;其中,所述范围不包含所述第二边界主键值。2.根据权利要求1所述的方法,其中,所述在所述第一存储层、第二存储层和第三存储层的主键值中,确定出最小的主键值,包括:分别在各存储层中读取主键值最小的一行数据,从而得到来源于所述第一存储层的第一数据行,来源于所述第二存储层的第二数据行,以及来源于所述第三存储层的第三数据行;在所述第一数据行、所述第二数据行和所述第三数据行的主键值中,确定出最小的主键值;所述在所述第一存储层和所述第二存储层的主键值中,确定出最小的主键值,包括:在所述第一数据行和所述第二数据行的主键值中,确定出最小的主键值。3.根据权利要求2所述的方法,其中,各存储层具有各自的扫描迭代器,所述扫描迭代器用于按主键值由小到大的顺序,对其对应的存储层进行数据扫描,并且各存储层各自的扫描迭代器已被放入败者树;以及所述分别在各存储层中读取主键值最小的一行数据,包括:利用所述败者树,在各存储层各自的扫描迭代器中分别读取一行数据;所述在所述第一数据行、所述第二数据行和所述第三数据行的主键值中,确定出最小的主键值,包括:利用所述败者树,在所述第一数据行、所述第二数据行和所述第三数据行的主键值中,确定出最小的主键值;所述在所述第一数据行和所述第二数据行的主键值中,确定出最小的主键值,包括:利用所述败者树,在所述第一数据行和所述第二数据行的主键值中,确定出最小的主键值。4.根据权利要求3所述的方法,其中,所述利用所述败者树,在所述第一数据行和所述第二数据行的主键值中,确定出最小的主键值,包括:从所述败者树中移除所述第三存储层的扫描迭代器;利用所述败者树,从剩余的扫描迭代器中读取所述第一数据行和所述第二数据行中主键值最小的数据行,从而确定出最小的主键值。5.根据权利要求4所述的方法,其中,在所述从而确定出最小的主键值之后,还包括:将所述第三存储层的扫描迭代器放回所述败者树。6.根据权利要求3所述的方法,还包括:创建各存储层各自的扫描迭代器;
将所创建的各扫描迭代器放...

【专利技术属性】
技术研发人员:刘登志曹晖杨海涛
申请(专利权)人:北京奥星贝斯科技有限公司
类型:发明
国别省市:

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

1