关系型数据库的管理方法及装置制造方法及图纸

技术编号:36875631 阅读:52 留言:0更新日期:2023-03-15 20:32
本申请一个或多个实施例提供一种关系型数据库的管理方法及装置;关系型数据库为基于LSM Tree的关系型数据库;关系型数据库中的目标数据表包括第一子数据表和第二子数据表;第一子数据表为缓存在内存中的数据表;第二子数据表为存储在用于持久化存储数据的存储介质中的数据表;该方法包括:按照预设的第一时长周期,定期遍历第一子数据表,并确定第一子数据表是否包括访问次数大于预设的第一阈值的候选数据行;如果是,则确定第一子数据表中是否存储了候选数据行中与目标数据表中的数据列对应的全列数据;如果否,则从第二子数据表中读取候选数据行中与第一子数据表中未存储的数据列对应的数据,并将读取到的数据加载到第一子数据表中。第一子数据表中。第一子数据表中。

【技术实现步骤摘要】
关系型数据库的管理方法及装置


[0001]本申请一个或多个实施例涉及分布式
,尤其涉及一种关系型数据库的管理方法及装置。

技术介绍

[0002]关系型数据库,是指采用了关系模型来组织数据的数据库,通常以行和列的形式存储数据。在关系型数据库中,一系列的数据行和数据列被称为数据表,一组数据表组成了数据库。通常,数据表中的一行数据是一条数据记录(record),一列数据是与一个字段(field)对应的数据。
[0003]对于关系型数据库而言,可以采用LSM Tree(Log Structure Merge Tree,日志结构合并树)作为存储引擎,以通过牺牲一部分读性能,来换取较高的写性能。在这种情况下,如何优化针对基于LSM Tree的关系型数据库的数据查询,也就成为了亟待解决的问题。

技术实现思路

[0004]本申请一个或多个实施例提供技术方案如下:
[0005]本申请提供一种关系型数据库的管理方法;其中,所述关系型数据库为基于LSM Tree的关系型数据库;所述关系型数据库中的目标数据表包括第一子数据表和第二子数据表;所述第一子数据表为缓存在内存中的数据表;所述第二子数据表为存储在用于持久化存储数据的存储介质中的数据表;所述方法包括:
[0006]按照预设的第一时长周期,定期遍历所述第一子数据表,并确定所述第一子数据表是否包括访问次数大于预设的第一阈值的候选数据行;
[0007]如果所述第一子数据表包括所述候选数据行,则确定所述第一子数据表中是否存储了所述候选数据行中与所述目标数据表中的数据列对应的全列数据;
[0008]如果所述第一子数据表中未存储所述全列数据,则从所述第二子数据表中读取所述候选数据行中与所述第一子数据表中未存储的数据列对应的数据,并将读取到的所述数据加载到所述第一子数据表中。
[0009]本申请还提供一种关系型数据库的管理装置;其中,所述关系型数据库为基于LSM Tree的关系型数据库;所述关系型数据库中的目标数据表包括第一子数据表和第二子数据表;所述第一子数据表为缓存在内存中的数据表;所述第二子数据表为存储在用于持久化存储数据的存储介质中的数据表;所述装置包括:
[0010]遍历模块,按照预设的第一时长周期,定期遍历所述第一子数据表,并确定所述第一子数据表是否包括访问次数大于预设的第一阈值的候选数据行;
[0011]确定模块,如果所述第一子数据表包括所述候选数据行,则确定所述第一子数据表中是否存储了所述候选数据行中与所述目标数据表中的数据列对应的全列数据;
[0012]加载模块,如果所述第一子数据表中未存储所述全列数据,则从所述第二子数据表中读取所述候选数据行中与所述第一子数据表中未存储的数据列对应的数据,并将读取
到的所述数据加载到所述第一子数据表中。
[0013]本申请还提供一种电子设备,包括:
[0014]处理器;
[0015]用于存储处理器可执行指令的存储器;
[0016]其中,所述处理器通过运行所述可执行指令以实现如上述任一项所述方法的步骤。
[0017]本申请还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。
[0018]在上述技术方案中,针对基于LSM Tree的关系型数据库,可以定期遍历目标数据表包括的缓存在内存中的第一子数据表,并确定第一子数据表是否包括访问次数大于阈值的候选数据行,如果是,则可以确定第一子数据表中是否存储了候选数据行中与目标数据表中的数据列对应的全列数据,如果否,则可以从目标数据表包括的存储在磁盘等用于持久化存储数据的存储介质中的第二子数据表中,读取候选数据行中与第一子数据表中未存储的数据列对应的数据,并将读取到的该数据加载到第一子数据表中。
[0019]采用这种方式,在基于LSM Tree的关系型数据库中,对于数据表中访问次数较多的数据行而言,其中与该数据表中的数据列对应的全列数据,都可以存储在内存中的子数据表中,使得后续在查询该数据行时,可以直接在内存中的子数据表中进行数据查询,而无需再在磁盘等用于持久化存储数据的存储介质中的子数据表中进行数据查询,因此可以避免访问这类存储介质,提升读性能,提高数据查询效率;并且,此时从内存中的子数据表中读取的该数据行中的数据,就可以是该数据行中的最新数据,可以保证所读取的该数据行中的数据的正确性。
附图说明
[0020]图1是本申请一示例性实施例示出的一种关系型数据库的管理方法的流程图。
[0021]图2A是本申请一示例性实施例示出的一种多版本数据的数据结构的示意图。
[0022]图2B是本申请一示例性实施例示出的另一种多版本数据的数据结构的示意图。
[0023]图3是本申请一示例性实施例示出的另一种关系型数据库的管理方法的流程图。
[0024]图4是本申请一示例性实施例示出的一种设备的硬件结构的示意图。
[0025]图5是本申请一示例性实施例示出的一种关系型数据库的管理装置的框图。
具体实施方式
[0026]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请一个或多个实施例的一些方面相一致的装置和方法的例子。
[0027]需要说明的是:在其他实施例中并不一定按照本申请示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本申请所描述的更多或更少。此外,本申请中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描
述;而本申请中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
[0028]在对本申请一个或多个实施例进行详细说明之前,先对本申请一个或多个实施例涉及的应用场景进行简单说明。
[0029]数据库系统(Database System)通常可以包括数据库(Database,DB)、硬件、软件等部分。其中,数据库是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合,数据库中的数据按照特定的数学模型进行组织、描述和存储;硬件是构成计算机系统的各种物理设备,还包括存储所需的外部设备,硬件的配置应满足整个数据库系统的需要;软件可以进一步包括操作系统、数据库管理系统(Database Management System,DBMS)和应用程序。数据库管理系统是数据库系统的核心软件,是在操作系统的支持下工作,解决如何科学地组织和存储数据,如何高效地获取和维护数据的系统软件,其主要功能包括:数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立与维护。
[0030]在数据库系统中,数据库管理系统通常使用存储引擎针对数据库执行特定操作,例如:对关系型数据库执本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种关系型数据库的管理方法;其中,所述关系型数据库为基于LSM Tree的关系型数据库;所述关系型数据库中的目标数据表包括第一子数据表和第二子数据表;所述第一子数据表为缓存在内存中的数据表;所述第二子数据表为存储在用于持久化存储数据的存储介质中的数据表;所述方法包括:按照预设的第一时长周期,定期遍历所述第一子数据表,并确定所述第一子数据表是否包括访问次数大于预设的第一阈值的候选数据行;如果所述第一子数据表包括所述候选数据行,则确定所述第一子数据表中是否存储了所述候选数据行中与所述目标数据表中的数据列对应的全列数据;如果所述第一子数据表中未存储所述全列数据,则从所述第二子数据表中读取所述候选数据行中与所述第一子数据表中未存储的数据列对应的数据,并将读取到的所述数据加载到所述第一子数据表中。2.根据权利要求1所述的方法,所述确定所述第一子数据表是否包括访问次数大于预设的第一阈值的候选数据行,包括:确定所述第一子数据表是否包括访问次数大于预设的第一阈值,并且满足以下示出的一个或多个条件的候选数据行:数据行中存储的数据的数据量不超过预设的第二阈值;与数据行中存储的数据对应的数据列的列数不超过预设的第三阈值。3.根据权利要求1所述的方法,所述方法还包括:接收客户端发送的用于在所述目标数据表中查询目标数据行的查询指令;响应于所述查询指令,确定所述第一子数据表中是否存储了所述目标数据行中与所述目标数据表中的数据列对应的全列数据;如果所述第一子数据表中未存储所述全列数据,则确定与所述目标数据行对应的访问次数是否大于所述第一阈值;如果所述访问次数大于所述第一阈值,则从所述第二子数据表中读取所述目标数据行中与所述第一子数据表中未存储的数据列对应的数据,并将读取到的所述数据加载到所述第一子数据表中;以及,将所述第一子数据表中原先存储的所述目标数据行中的数据,与读取到的所述数据进行合并,得到所述目标数据行中的最新数据,并将所述目标数据行中的最新数据返回给所述客户端。4.根据权利要求1所述的方法,所述方法还包括:确定所述第一子数据表中存储的数据的数...

【专利技术属性】
技术研发人员:高山岩郭进伟肖金亮韩富晟
申请(专利权)人:北京奥星贝斯科技有限公司
类型:发明
国别省市:

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

1