System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书一个或多个实施例涉及数据库,尤其涉及一种数据系统、数据管理方法及装置、电子设备和存储介质。
技术介绍
1、对象存储具有成本低廉(单价为云盘的几分之一)、按实际使用量(容量和读写请求量)付费、高可扩展性、高耐久性、高可用性、以及可共享等特点,采用对象存储作为共享存储可以显著的降低存储成本。
2、但是相关技术中,用于对象存储的数据管理的数据系统的性能较低。
技术实现思路
1、有鉴于此,本说明书一个或多个实施例提供一种数据系统、数据管理方法及装置、电子设备和存储介质。
2、为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
3、根据本说明书一个或多个实施例的第一方面,提出了一种数据系统,所述数据系统包括:
4、对象存储层,存储有被管理数据的基线数据;
5、至少一个数据库,与所述对象存储层通信连接,存储有所述被管理数据的增量数据和所述被管理数据的元数据,所述元数据呈以数据库元数据为根节点,以数据块元数据为叶子节点的多层级树形结构;
6、其中,所述被管理数据的上级组件所包含的下级组件在所述元数据内所述上级组件对应的节点之下形成子节点;在所述元数据内,除叶子节点之外的任一层级内的节点用于记录对应组件的元信息和子节点的对象地址,所述叶子节点内的节点用于记录对应数据块的元信息。
7、在本说明书一个可能的实施例中,由根节点至叶子节点,所述元数据包括数据库元数据、租户元数据、日志流元数据、分区元数据、有
8、在本说明书一个可能的实施例中,所述数据系统中包含相同租户的不同数据库用于对所述相同租户的元数据中的租户状态进行共识;
9、所述数据系统中包含相同日志流的不同数据库用于对所述相同日志流的元数据进行共识;
10、所述数据系统中包含相同分区的不同数据库用于对所述相同分区的元数据进行共识。
11、在本说明书一个可能的实施例中,所述数据系统中包含于不同数据库的相同日志流间形成共识协议组,所述共识协议组用于对所述相同租户的元数据、所述相同日志流的元数据和所述相同分区的元数据进行共识。
12、在本说明书一个可能的实施例中,所述分区元数据之下包含基线sstable的元数据和增量sstable的元数据,所述基线sstable的元数据之下的数据块元数据对应的数据块为所述对象存储层中的数据块,所述增量sstable的元数据之下的数据块元数据对应的数据块为所述数据库本地的数据块。
13、在本说明书一个可能的实施例中,所述数据系统中包含相同分区的不同数据库用于周期性地执行下述步骤:
14、对所述相同分区的增量sstable达成共识;
15、将所述相同分区的基线sstalbe和增量sstable进行合并,以更新基线sstable;
16、在所述元数据内删除合并至基线sstable内的增量sstable对应的元数据,并更新基线sstable对应的元数据、以及所述分区对应的元数据。
17、在本说明书一个可能的实施例中,所述数据库用于在更新所述元数据内分区元数据层级内的待更新元数据时,新建对象并写入更新后的待更新元数据;
18、所述数据库用于在更新所述元数据内除分区元数据层级之外的任一层级的待更新元数据时,在所述待更新的元数据所在的对象内更新所述待更新的元数据。
19、在本说明书一个可能的实施例中,所述数据库用于在重启时由所述元数据的根节点开始将所述元数据内部分层级的元数据加载至内存,以使所述数据库部分恢复至关机前的状态并获得数据读取能力。
20、在本说明书一个可能的实施例中,所述数据库用于在重启时由所述元数据的根节点开始将所述元数据内数据库元数据、租户元数据和日志流元数据三个层级的元数据加载至内存,其中,所述日志流元数据用于记录对应的日志流的元信息、以及所述日志流元数据之下的每个分区元数据的对象地址。
21、在本说明书一个可能的实施例中,所述数据库用于在重启时将所述元数据加载至内存,以使所述数据库恢复关机前的状态。
22、根据本说明书一个或多个实施例的第二方面,提出了一种数据管理方法,应用于数据系统的任一数据库,所述数据库系统包括对象存储层和至少一个数据库,所述对象存储层存储有被管理数据的基线数据,所述数据库存储有所述被管理数据的增量数据;
23、所述方法包括:
24、基于所述基线数据和所述增量数据在所述数据库内构建所述被管理数据的元数据,所述元数据呈以数据库元数据为根节点,以数据块元数据为叶子节点的多层级树形结构,其中,所述被管理数据的上级组件所包含的下级组件在所述元数据内所述上级组件对应的节点之下形成子节点;在所述元数据内,除叶子节点之外的任一层级内的节点用于记录对应组件的元信息和子节点的对象地址,所述叶子节点内的节点用于记录对应数据块的元信息。
25、根据本说明书一个或多个实施例的第三方面,提出了一种数据管理装置,应用于数据系统的任一数据库,所述数据库系统包括对象存储层和至少一个数据库,所述对象存储层存储有被管理数据的基线数据,所述数据库存储有所述被管理数据的增量数据;
26、所述装置包括:
27、构建模块,用于基于所述基线数据和所述增量数据在所述数据库内构建所述被管理数据的元数据,所述元数据呈以数据库元数据为根节点,以数据块元数据为叶子节点的多层级树形结构,其中,所述被管理数据的上级组件所包含的下级组件在所述元数据内所述上级组件对应的节点之下形成子节点;在所述元数据内,除叶子节点之外的任一层级内的节点用于记录对应组件的元信息和子节点的对象地址,所述叶子节点内的节点用于记录对应数据块的元信息。
28、根据本说明书一个或多个实施例的第四方面,提出了一种计算机程序产品,包括计算机程序/指令,该计算程序/指令被处理器执行时实现第二方面所述方法的步骤。
29、根据本说明书一个或多个实施例的第五方面,提出了一种电子设备,包括:
30、处理器;
31、用于存储处理器可执行指令的存储器;
32、其中,所述处理器通过运行所述可执行指令以实现如第二方面所述的方法。
33、根据本说明书一个或多个实施例的第六方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第二方面所述方法的步骤。
34、本说明书的实施例提供的技术方案可以包括以下有益效果:
35、本说明书实施例所提供的数据系统,包括对象存储层和与对象存储层通信连接的至少一个数据库,对象存储层存储有待管理数据的基线数据,而数据库本地仅存储待管理数据的增量数据,由于增量数据占用的空间远远小于基线数据占用的空间,因此数据库本地无需提供过多的存储空间,且不同数据库间通过对象存储层上的基线数据实现了数据共享;数据库内所存储的本文档来自技高网...
【技术保护点】
1.一种数据系统,所述数据系统包括:
2.根据权利要求1所述的数据系统,由根节点至叶子节点,所述元数据包括数据库元数据、租户元数据、日志流元数据、分区元数据、有序字符串表SSTable元数据和数据块元数据。
3.根据权利要求1所述的数据系统,所述数据系统中包含相同租户的不同数据库用于对所述相同租户的元数据中的租户状态进行共识;
4.根据权利要求3所述的数据系统,所述数据系统中包含于不同数据库的相同日志流间形成共识协议组,所述共识协议组用于对所述相同租户的元数据、所述相同日志流的元数据和所述相同分区的元数据进行共识。
5.根据权利要求2所述的数据系统,所述分区元数据之下包含基线SSTable的元数据和增量SSTable的元数据,所述基线SSTable的元数据之下的数据块元数据对应的数据块为所述对象存储层中的数据块,所述增量SSTable的元数据之下的数据块元数据对应的数据块为所述数据库本地的数据块。
6.根据权利要求5所述的数据系统,所述数据系统中包含相同分区的不同数据库用于周期性地执行下述步骤:
7.根据权利
8.根据权利要求2所述的数据系统,所述数据库用于在重启时由所述元数据的根节点开始将所述元数据内部分层级的元数据加载至内存,以使所述数据库部分恢复至关机前的状态并获得数据读取能力。
9.根据权利要求8所述的数据系统,所述数据库用于在重启时由所述元数据的根节点开始将所述元数据内数据库元数据、租户元数据和日志流元数据三个层级的元数据加载至内存,其中,所述日志流元数据用于记录对应的日志流的元信息、以及所述日志流元数据之下的每个分区元数据的对象地址。
10.根据权利要求1所述的数据系统,所述数据库用于在重启时将所述元数据加载至内存,以使所述数据库恢复关机前的状态。
11.一种数据管理方法,应用于数据系统的任一数据库,所述数据库系统包括对象存储层和至少一个数据库,所述对象存储层存储有被管理数据的基线数据,所述数据库存储有所述被管理数据的增量数据;
12.根据权利要求11所述的数据管理方法,由根节点至叶子节点,所述元数据包括数据库元数据、租户元数据、日志流元数据、分区元数据、有序字符串表SSTable元数据和数据块元数据;
13.根据权利要求11所述的数据管理方法,由根节点至叶子节点,所述元数据包括数据库元数据、租户元数据、日志流元数据、分区元数据、有序字符串表SSTable元数据和数据块元数据,所述数据系统中包含于不同数据库的相同日志流间形成共识协议组;
14.根据权利要求11所述的数据管理方法,所述方法还包括:
15.根据权利要求11所述的数据管理方法,所述方法还包括:
16.根据权利要求15所述的数据管理方法,由根节点至叶子节点,所述元数据包括数据库元数据、租户元数据、日志流元数据、分区元数据、有序字符串表SSTable元数据和数据块元数据;所述由所述元数据的根节点开始将所述元数据内部分层级的元数据加载至内存,包括:
17.一种数据管理装置,应用于数据系统的任一数据库,所述数据库系统包括对象存储层和至少一个数据库,所述对象存储层存储有被管理数据的基线数据,所述数据库存储有所述被管理数据的增量数据;
18.根据权利要求17所述的数据管理装置,由根节点至叶子节点,所述元数据包括数据库元数据、租户元数据、日志流元数据、分区元数据、有序字符串表SSTable元数据和数据块元数据;
19.根据权利要求17所述的数据管理装置,所述装置包括重启模块,用于:
20.根据权利要求19所述的数据管理装置,由根节点至叶子节点,所述元数据包括数据库元数据、租户元数据、日志流元数据、分区元数据、有序字符串表SSTable元数据和数据块元数据;所述重启模块用于由所述元数据的根节点开始将所述元数据内部分层级的元数据加载至内存时,用于:
21.一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求11至16中任一项所述方法的步骤。
22.一种电子设备,包括:
23.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求11至16中任一项所述方法的步骤。
...【技术特征摘要】
1.一种数据系统,所述数据系统包括:
2.根据权利要求1所述的数据系统,由根节点至叶子节点,所述元数据包括数据库元数据、租户元数据、日志流元数据、分区元数据、有序字符串表sstable元数据和数据块元数据。
3.根据权利要求1所述的数据系统,所述数据系统中包含相同租户的不同数据库用于对所述相同租户的元数据中的租户状态进行共识;
4.根据权利要求3所述的数据系统,所述数据系统中包含于不同数据库的相同日志流间形成共识协议组,所述共识协议组用于对所述相同租户的元数据、所述相同日志流的元数据和所述相同分区的元数据进行共识。
5.根据权利要求2所述的数据系统,所述分区元数据之下包含基线sstable的元数据和增量sstable的元数据,所述基线sstable的元数据之下的数据块元数据对应的数据块为所述对象存储层中的数据块,所述增量sstable的元数据之下的数据块元数据对应的数据块为所述数据库本地的数据块。
6.根据权利要求5所述的数据系统,所述数据系统中包含相同分区的不同数据库用于周期性地执行下述步骤:
7.根据权利要求2所述的数据系统,所述数据库用于在更新所述元数据内分区元数据层级内的待更新元数据时,新建对象并写入更新后的待更新元数据;
8.根据权利要求2所述的数据系统,所述数据库用于在重启时由所述元数据的根节点开始将所述元数据内部分层级的元数据加载至内存,以使所述数据库部分恢复至关机前的状态并获得数据读取能力。
9.根据权利要求8所述的数据系统,所述数据库用于在重启时由所述元数据的根节点开始将所述元数据内数据库元数据、租户元数据和日志流元数据三个层级的元数据加载至内存,其中,所述日志流元数据用于记录对应的日志流的元信息、以及所述日志流元数据之下的每个分区元数据的对象地址。
10.根据权利要求1所述的数据系统,所述数据库用于在重启时将所述元数据加载至内存,以使所述数据库恢复关机前的状态。
11.一种数据管理方法,应用于数据系统的任一数据库,所述数据库系统包括对象存储层和至少一个数据库,所述对象存储层存储有被管理数据的基线数据,所述数据库存储有所述被管理数据的增量数据;<...
【专利技术属性】
技术研发人员:盖顺,陈嘉华,叶恒,
申请(专利权)人:北京奥星贝斯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。