管理数据库的方法和装置制造方法及图纸

技术编号:32861979 阅读:16 留言:0更新日期:2022-03-30 19:44
提供一种管理数据库的方法和装置。所述数据库包括增量排序字符串表SSTable和基线SSTable,所述方法包括:对所述数据库中的目标数据进行扫描,得到所述目标数据的主键所在的第一主键范围,其中所述目标数据包括所述增量SSTable中的部分或全部数据;根据所述第一主键范围,将所述第一主键范围内的数据的合并任务拆分成一个或多个子任务;根据所述一个或多个子任务,对所述第一主键范围内的数据进行合并。并。并。

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


[0001]本公开涉及数据库领域,并且更为具体地,涉及一种管理数据库的方法和装置。

技术介绍

[0002]在基于排序字符串表(sorted string table,SSTable,可简称为SST)的数据库中,数据的合并一种较重的操作,耗时较长。为了缩短合并时间,传统技术基于基线SSTable的信息将一次合并任务均匀地拆分成多个子任务,从而并行地处理该多个子任务。但是,在很多场景下,基于基线SSTable的信息得到的多个子任务的任务量的并不均衡,某个或某些子任务的任务较重,导致合并任务的执行时间仍然较长。

技术实现思路

[0003]针对上述问题,本公开提供一种管理数据库的方法和装置。
[0004]第一方面,提供一种管理数据库的方法,所述数据库包括增量SSTable和基线SSTable,所述方法包括:对所述数据库中的目标数据进行扫描,得到所述目标数据的主键所在的第一主键范围,其中所述目标数据包括所述增量SSTable中的部分或全部数据;根据所述第一主键范围,将所述第一主键范围内的数据的合并任务拆分成一个或多个子任务;根据所述一个或多个子任务,对所述第一主键范围内的数据进行合并。
[0005]可选地,作为一种可能的实现方式,所述目标数据为第二主键范围内的数据,所述第二主键范围的起始主键为所述基线SSTable的终止主键,所述第二主键范围的终止主键为主键最大值。
[0006]可选地,作为一种可能的实现方式,所述数据库还包括第三主键范围内的数据,所述第三主键范围的起始主键为主键最小值,所述第三主键范围的终止主键为所述基线SSTable的终止主键,所述方法还包括:根据所述第三主键范围,将所述第三主键范围内的数据的合并任务拆分成一个或多个子任务,以对所述第三主键范围内的数据进行合并。
[0007]可选地,作为一种可能的实现方式,所述目标数据为所述增量SSTable中的增量数据,所述第一主键范围为所述增量数据所覆盖的主键范围。
[0008]可选地,作为一种可能的实现方式,所述增量SSTable中的除所述增量数据之外的剩余数据的主键位于第四主键范围内,所述方法还包括:对所述基线SSTable中的位于所述第四主键范围内的数据进行重用。
[0009]可选地,作为一种可能的实现方式,所述目标数据为所述增量SSTable和所述基线SSTable中的全部数据。
[0010]可选地,作为一种可能的实现方式,所述数据库为分布式数据库,所述数据库包括多个基线SSTable副本,所述多个基线SSTable副本分布在多个数据库节点上,所述多个数据库节点中的不同数据库节点的合并独立进行。
[0011]第二方面,提供一种管理数据库的装置,所述数据库包括增量SSTable和基线SSTable,所述装置包括:扫描模块,用于对所述数据库中的目标数据进行扫描,得到所述目
标数据的主键所在的第一主键范围,其中所述目标数据包括所述增量SSTable中的部分或全部数据;拆分模块,用于根据所述第一主键范围,将所述第一主键范围内的数据的合并任务拆分成一个或多个子任务;合并模块,用于根据所述一个或多个子任务,对所述第一主键范围内的数据进行合并。
[0012]可选地,作为一种可能的实现方式,所述目标数据为第二主键范围内的数据,所述第二主键范围的起始主键为所述基线SSTable的终止主键,所述第二主键范围的终止主键为主键最大值。
[0013]可选地,作为一种可能的实现方式,所述数据库还包括第三主键范围内的数据,所述第三主键范围的起始主键为主键最小值,所述第三主键范围的终止主键为所述基线SSTable的终止主键,所述拆分模块还用于根据所述第三主键范围,将所述第三主键范围内的数据的合并任务拆分成一个或多个子任务,以对所述第三主键范围内的数据进行合并。
[0014]可选地,作为一种可能的实现方式,所述目标数据为所述增量SSTable中的增量数据,所述第一主键范围为所述增量数据所覆盖的主键范围。
[0015]可选地,作为一种可能的实现方式,所述增量SSTable中的除所述增量数据之外的剩余数据的主键位于第四主键范围内,所述装置还包括:重用模块,用于对所述基线SSTable中的位于所述第四主键范围内的数据进行重用。
[0016]可选地,作为一种可能的实现方式,所述目标数据为所述增量SSTable和所述基线SSTable中的全部数据。
[0017]第三方面,提供一种管理数据库的装置,所述装置包括:存储器,用于存储执行指令;处理器,用于执行所述存储器中存储的所述执行指令,以执行第一方面或第一方面中的任意一种可能的实现方式所述的方法。
[0018]可选地,作为一种可能的实现方式,所述数据库为分布式数据库,所述数据库包括多个基线SSTable副本,所述多个基线SSTable副本分布在多个数据库节点上,所述多个数据库节点中的不同数据库节点的合并独立进行。
[0019]第四方面,提供一种计算机可读存储介质,其上存储有用于执行第一方面或第一方面中的任意一种可能的实现方式所述的方法的指令。
[0020]第五方面,提供一种计算机程序产品,包括用于执行第一方面或第一方面中的任意一种可能的实现方式所述的方法的指令。
[0021]本公开实施例提供了一种基于数据扫描的划分方式,该划分方式对增量SSTable中的部分或全部数据进行了扫描,并基于扫描出的主键范围对合并任务进行了拆分。不同于传统技术,本公开实施例考虑了增量SSTable中的数据的主键范围,在考虑该因素之后,子任务的拆分方式也会更加合理。
附图说明
[0022]为了更清楚地说明本公开实施例或
技术介绍
中的技术方案,下面将对本公开实施例或
技术介绍
中所需要使用的附图进行说明。
[0023]图1是MemTable的转储过程以及增量SSTable与基线SSTable的合并过程的示例图。
[0024]图2是利用多个子任务对合并任务进行并行处理的示例图。
[0025]图3是传统技术的子任务拆分方式的示例图。
[0026]图4是图3所示的子任务拆分方式在导入数据场景的实现过程示例图。
[0027]图5是本公开实施例提供的管理数据库的方法的流程示意图。
[0028]图6是实施例二的一种具体实现方式的示例图。
[0029]图7是实施例三的一种具体实现方式的示例图。
[0030]图8是本公开一个实施例提供的管理数据库的装置的结构示意图。
[0031]图9是本公开另一实施例提供的管理数据库的装置的结构示意图。
具体实施方式
[0032]下面结合本公开实施例中的附图对本公开实施例进行描述。以下描述中,参考形成本公开一部分并以说明之方式示出本公开实施例的具体方面或可使用本公开实施例的具体方面的附图。应理解,本公开实施例可在其它方面中使用,并可包括附图中未描绘的结构或逻辑变化。因此,以下详细描述不应以限制性的意义来理解,且本公本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种管理数据库的方法,所述数据库包括增量排序字符串表SSTable和基线SSTable,所述方法包括:对所述数据库中的目标数据进行扫描,得到所述目标数据的主键所在的第一主键范围,其中所述目标数据包括所述增量SSTable中的部分或全部数据;根据所述第一主键范围,将所述第一主键范围内的数据的合并任务拆分成一个或多个子任务;根据所述一个或多个子任务,对所述第一主键范围内的数据进行合并。2.根据权利要求1所述的方法,所述目标数据为第二主键范围内的数据,所述第二主键范围的起始主键为所述基线SSTable的终止主键,所述第二主键范围的终止主键为主键最大值。3.根据权利要求2所述的方法,所述数据库还包括第三主键范围内的数据,所述第三主键范围的起始主键为主键最小值,所述第三主键范围的终止主键为所述基线SSTable的终止主键,所述方法还包括:根据所述第三主键范围,将所述第三主键范围内的数据的合并任务拆分成一个或多个子任务,以对所述第三主键范围内的数据进行合并。4.根据权利要求1所述的方法,所述目标数据为所述增量SSTable中的增量数据,所述第一主键范围为所述增量数据所覆盖的主键范围。5.根据权利要求4所述的方法,所述增量SSTable中的除所述增量数据之外的剩余数据的主键位于第四主键范围内,所述方法还包括:对所述基线SSTable中的位于所述第四主键范围内的数据进行重用。6.根据权利要求1所述的方法,所述目标数据为所述增量SSTable和所述基线SSTable中的全部数据。7.根据权利要求1所述的方法,所述数据库为分布式数据库,所述数据库包括多个基线SSTable副本,所述多个基线SSTable副本分布在多个数据库节点上,所述多个数据库节点中的不同数据库节点的合并独立进行。8.一种管理数据库的装置,所述数据库包括增量排序字符串表SSTable和基线SSTable,所述装置包括:扫描模块,用于对所述数据库中的目标数...

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

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

1