数据处理方法技术

技术编号:39841647 阅读:7 留言:0更新日期:2023-12-29 16:29
本说明书一个或多个实施例提供一种数据处理方法

【技术实现步骤摘要】
数据处理方法、数据查询方法及装置


[0001]本说明书一个或多个实施例涉及数据库
,尤其涉及一种数据处理方法

数据查询方法及装置


技术介绍

[0002]聚合数据是针对数据库中的海量数据执行计算或统计操作,生成的单个结果

例如,可以计算数据库中某一列数据的最大值,将其预先存储为聚合数据

在数据查询过程中,通过调用预先存储的聚合数据,可以减少需要查询的数据量,从而提高数据库的查询性能和响应速度

[0003]相关技术中,随着数据库中数据操纵语句
(Data Manipulation Language

DML)
的执行,数据库中预先构建的聚合数据需要频繁更新,并在更新过程中占用额外的系统资源,且无法自动判断聚合数据的有效性


技术实现思路

[0004]有鉴于此,本说明书一个或多个实施例提供一种数据处理方法

数据查询方法及装置

[0005]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0006]根据本说明书一个或多个实施例的第一方面,提出了一种数据处理方法,应用于基于日志结构合并
LSM
树的数据库,数据库包括有序字符串表
SSTable

SSTable
存储有聚合数据,方法包括:
[0007]响应于针对目标数据的合并操作,将目标数据合并至
>SSTable

[0008]根据合并至
SSTable
的目标数据,更新
SSTable
中存储的聚合数据

[0009]根据本说明书一个或多个实施例的第二方面,提出了一种数据查询方法,应用于基于
LSM
树的数据库,数据库包括
SSTable

SSTable
存储有聚合数据,方法包括:
[0010]响应于针对指定数据的查询指令,校验聚合数据的有效性;
[0011]根据聚合数据中的有效聚合数据,查询指定数据

[0012]根据本说明书一个或多个实施例的第三方面,提出了一种数据处理装置,应用于基于
LSM
树的数据库,数据库包括
SSTable

SSTable
存储有聚合数据,包括:
[0013]合并模块,用于响应于针对目标数据的合并操作,将目标数据合并至
SSTable

[0014]更新模块,用于根据合并至
SSTable
的目标数据,更新
SSTable
中存储的聚合数据

[0015]根据本说明书一个或多个实施例的第四方面,提出了一种数据查询装置,应用于基于
LSM
树的数据库,数据库包括
SSTable

SSTable
存储有聚合数据,包括:
[0016]校验模块,用于响应于针对指定数据的查询指令,校验聚合数据的有效性;
[0017]查询模块,用于根据聚合数据中的有效聚合数据,查询指定数据

[0018]根据本说明书一个或多个实施例的第五方面,提出了一种电子设备,包括:
[0019]处理器;
[0020]用于存储处理器可执行指令的存储器;
[0021]其中,处理器通过运行可执行指令以实现如第一方面的方法和
/
或如第二方面的方法

[0022]根据本说明书一个或多个实施例的第六方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面方法的步骤和
/
或第二方面方法的步骤

[0023]本说明书提供的方法,可应用于基于
LSM
树的数据库,通过将聚合数据存储至
LSM
树中的
SSTable
,可以使数据库基于
LSM
树的多版本数据存储能力,在
LSM
树中发生数据合并时,更新
SSTable
中存储的聚合数据,期间不会产生额外的资源开销;并在
LSM
树中发生数据查询时,自动感知聚合数据的有效性,从而能够加速数据查询过程,并输出正确的查询结果

附图说明
[0024]图1是一示例性实施例提供的一种基于
LSM
树的数据库结构示意图

[0025]图2是一示例性实施例提供的一种数据处理方法的流程示意图

[0026]图3是一示例性实施例提供的一种树状存储结构的结构示意图

[0027]图4是一示例性实施例提供的一种数据查询方法的流程示意图

[0028]图5是一示例性实施例提供的一种设备的结构示意图

[0029]图6是一示例性实施例提供的一种数据处理装置的结构示意图

[0030]图7是一示例性实施例提供的一种数据查询装置的结构示意图

具体实施方式
[0031]这里将详细地对示例性实施例进行说明,其示例表示在附图中

下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素

以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式

相反,它们仅是与如所附权利要求书中所详述的

本说明书一个或多个实施例的一些方面相一致的装置和方法的例子

[0032]需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤

在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少

此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述

[0033]聚合数据是针对数据库中的海量数据执行计算或统计操作,生成的单个结果

例如,可以计算数据库中某一列数据的最大值,将其预先存储为聚合数据

在数据查询过程中,通过调用预先存储的聚合数据,可以减少需要查询的数据量,从而提高数据库的查询性能和响应速度

[0034]相关技术中,可以通过物化视图的方式将聚合数据预先存储为一个视图表,来对数据库中的查询进行加速

然而,物化视图的配置过程较为复杂,需要对数据库计算引擎进行大量的相关适配,并通过相应的数据库接口与视图表进行交互

同时,物化视图在存储时<本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种数据处理方法,应用于基于日志结构合并
LSM
树的数据库,所述数据库包括有序字符串表
SSTable
,所述
SSTable
存储有聚合数据,所述方法包括:响应于针对目标数据的合并操作,将所述目标数据合并至所述
SSTable
;根据合并至所述
SSTable
的所述目标数据,更新所述
SSTable
中存储的聚合数据
。2.
根据权利要求1所述的方法,所述
SSTable
中配置有树状存储结构,所述树状存储结构包括叶子节点以及非叶子节点;其中,所述叶子节点用于存储基础数据,所述非叶子节点用于存储聚合数据,所述聚合数据用于示出所述基础数据的聚合结果
。3.
根据权利要求2所述的方法,所述叶子节点的数量为多个,每个叶子节点用于存储不同主键范围的基础数据
。4.
根据权利要求2所述的方法,所述非叶子节点包括第一非叶子节点和第二非叶子节点,其中,第一非叶子节点为叶子节点的父节点,第二非叶子节点为第一非叶子节点的祖先节点;每个第一非叶子节点中存储的聚合数据通过聚合该第一非叶子节点的子节点中存储的基础数据获得;每个第二非叶子节点中存储的聚合数据通过聚合该第二非叶子节点的子节点中存储的聚合数据获得
。5.
根据权利要求3所述的方法,所述将所述目标数据合并至所述
SSTable
,包括:根据所述目标数据的主键,将所述目标数据合并至相应的叶子节点中,以使所述目标数据与该叶子节点中存储的基础数据按照主键顺序有序排列
。6.
根据权利要求5所述的方法,所述根据合并至所述
SSTable
的所述目标数据,更新所述
SSTable
中存储的聚合数据,包括:针对每个合并有目标数据的叶子节点,分别进行如下处理:根据合并至该叶子节点的目标数据,更新该叶子节点的祖先节点中存储的聚合数据
。7.
根据权利要求1所述的方法,所述数据库还包括内存表
Memtable
;所述
SSTable
为转储
SSTable
或基线
SSTable
,所述目标数据为
Memtable
中存储的基础数据或转储
SSTable
中存储的基础数据
。8.
一种数据查询方法,应用于基于
LSM
树的数据库,所述数据库包括
SSTable
,所述
SSTable
存储有聚合数据,所述方法包括:响应于针对指定数据的查询指令,校验所述聚合数据的有效性;根据所述聚合数据中的有效聚合数据,查询所述指定数据
。9.
根据权利要求8所述的方法,所述
SSTable
中配置有树状存储结构,所述树状存储结构包括叶子节点以及非叶子节点;其中,所述叶子节点用于存储基础数据,所述非叶子节点用于存储聚合数据,所述聚合数据用于示出所述基础数据的聚合结果
。10.
根据权利要求9所述的方法,所述叶子节点的数量为多个,每个叶子节点用于存储不同主键范围的基础数据
。11.
根据权利要求9所述的方法,所述非叶子节点包括第一非叶子节点和第二非叶子节点,其中,第一非叶子节点为叶子节点的父节点,第二非叶子节点为第一非叶子节点的祖先
节点;每个第一非叶子节点中存储的聚合数据通过聚合该第一非叶子节点的子节点中存储的基础数据获得;每个第二非叶...

【专利技术属性】
技术研发人员:赵赛铜高思远陈嘉华
申请(专利权)人:北京奥星贝斯科技有限公司
类型:发明
国别省市:

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

1