动态自适应分区分割制造技术

技术编号:34595420 阅读:10 留言:0更新日期:2022-08-20 08:55
在一些示例中,计算设备可以在第一时间点将数据状态的第一快照存储在第一分区内。计算设备可以创建第二分区和第三分区以各自接收数据的一部分,所述第二分区和所述第三分区各自包括度量模式,并且可以基于所述第一快照中的信息来确定用于度量模式的信息。在确定用于度量模式的信息期间,计算设备可以接收对第一分区的写入。计算设备可以基于写入来更新第一分区,并且可以基于写入来向数据结构添加分割更新命令。另外,计算设备可以基于所述分割更新命令来更新所述第二分区或所述第三分区中的度量模式中的至少一个。的度量模式中的至少一个。的度量模式中的至少一个。

【技术实现步骤摘要】
【国外来华专利技术】动态自适应分区分割


[0001]本公开涉及数据库、数据存储和存储管理的


技术介绍

[0002]多分区分布式数据库可以通过在多个计算设备(也称为“计算节点”)之间划分数据来提供水平可缩放性。作为示例,随着分区变得更大,分区可以被分割或以其它方式划分为两个分区,诸如用于改善对分区中的数据的访问和/或控制分区的大小。因此,分割分区可以实现存储的弹性缩放。然而,当执行分区分割时,在系统执行处理以维持原始分区和新分区之间的数据一致性的同时,可以限制对经受分割的分区的访问。在此时间期间的受限访问可能对处理分区中的数据的用户不方便。

技术实现思路

[0003]一些实现包括计算设备,其在第一时间点将数据的状态的第一快照存储在第一分区内。计算设备可以创建第二分区和第三分区以各自接收数据的一部分,所述第二分区和所述第三分区各自包括度量模式。此外,计算设备可以基于第一快照中的信息来确定用于度量方案的信息。在确定用于度量模式的信息期间,计算设备可以接收对第一分区的写入。计算设备可以基于写入来更新第一分区,并且可以基于写入来向数据结构添加分割更新命令。另外,计算设备可以基于所述分割更新命令来更新所述第二分区或所述第三分区中的度量模式中的至少一个。
附图说明
[0004]将参照附图进行详细说明。在附图中,附图标记的最左边的数字标识附图标记首先出现的附图。在不同附图中使用相同的附图标记指示相似或相同的术语或特征。
[0005]图1示出了根据一些实现的包括分区数据的系统的示例性架构。
[0006]图2是示出根据一些实现的在执行分区分割期间系统的示例逻辑配置的框图。
[0007]图3示出了根据一些实现将第一分区划分为第二分区和第三分区之后的系统。
[0008]图4是示出根据一些实现将第一分区204(1)分割为两个新分区的简化示例的框图。
[0009]图5示出了根据一些实现的在开始分区分割之前和之后的第一分区。
[0010]图6示出了根据一些实现的在允许在第一分区处接收新写入的同时处理第一分区快照的示例。
[0011]图7示出了根据一些实现将新写入应用于第二分区和第三分区的示例。
[0012]图8是示出根据一些实现的在分割第一分区之后第一分区、第二分区和第三分区的示例配置的框图。
[0013]图9是示出根据一些实现的用于动态自适应分区分割的示例过程的流程图。
[0014]图10示出了可以用于实现本文描述的系统的功能中的至少一些功能的服务计算
设备的选择示例组件。
具体实施方式
[0015]本文中的一些实现涉及用于减少或消除在将分区划分为多个分区(也称为分区分割)期间阻止对分区的写入的时间量的技术和结构。例如,与传统技术相比,本文的技术可导致显著改进的可用性和更少的数据访问停机时间。在一些示例中,可以在后台执行异步预分割优化阶段,而不涉及分区的锁定,其中防止对分区的写入。在对分区执行分割操作期间,系统通常可以阻止的对分区的写入操作的示例可以包括对现有对象的数据写入、对象创建、对象删除、元数据的改变等。
[0016]为了减少在分区分割期间阻止写入的时间窗口,这里的一些示例可以使用分区的快照将分区中的现有记录处理为后台进程,同时仍然允许诸如由客户端等对分区的写入。作为一个示例,在处理期间接收的新写入的记录信息可以作为分割更新命令存储在数据结构中。在处理分区中当前的所有现有记录之后,系统然后可以阻止写入并处理已经存储到分割更新数据结构的任何新记录,以用于在处理分区中的现有记录时接收到的写入。另外,在一些情况下,可以对包括新写入的分区采取附加快照,并且可以使用附加快照来进一步减少或消除阻止写入的需要。在处理分割更新数据结构中的所有记录之后,系统可以启动在分割操作期间创建的新分区,关闭并标记用于删除旧分区,并且允许写入操作由新分区服务。因此,通过仅在处理分割更新数据结构中的记录的小子集期间阻止写入,该写入对应于在对快照执行分割处理时接收的写入,本文的示例显著地减少了客户端不能向分区写入的时间量。
[0017]另外,当执行分区分割时,这里的实现能够以相对于传统技术改进的速度处理分区中的每个记录。例如,当根据指示的模式处理分区中的记录时,系统可以散列每个键以定位每个记录。不同于如常规技术中那样采用加密安全散列算法,本文的实现通过使用低冲突非加密安全散列算法来提高处理速度。合适的散列算法的一个示例是FarmHash Fingerprint64开放源码算法,其可用于散列本文中的键,这实质上改进了每个记录的处理时间。因此,通过减少所处理的记录的数量并通过加速处理每个记录的时间,本文的实现能够显著地减少在分区分割期间阻止写入的时间量。
[0018]在一些实现中,每个模式(例如,数据库、数据或其一部分的组织或结构)可以从集群或其它多个计算节点中的一个或更多个分区开始。随着特定分区变得更大,分区可达到大小阈值或其它度量阈值,其可触发分区的分割。作为一个示例,分区可以被动态地划分为两个子分区,并且那些子分区可以被分布到多个计算节点内的分离节点,这基本上可以使该模式的吞吐量加倍。
[0019]本文的一些示例可以包括能够实现水平可缩放性的基于Raft算法的分区和分布式数据库。例如,假设数据库以模式的单个分区开始。随着分区变得更大,分区可以被分割为两个或更多个子分区。此外,这些子分区可以被分布到多个计算节点内的单独的计算节点中,这提高了该模式的吞吐量。随着越来越多的数据被摄取,分区将继续变得更大,并且根据这里的实现,可以连续地动态地分割。这使得分区中的数据能够分布在离散分区中的集群中的所有计算设备上,从而使得集群中的多个计算设备上的负载均匀分布。此外,随着更多的计算设备被添加到集群,分区的数量可以继续增加,并且当附加的计算节点被添加
到系统时,分区可以弹性地和无限地分布在系统上。另外,通过使用非加密安全散列函数,分区内的记录可以被均匀地散布,以为分布式分区提供最佳吞吐量。
[0020]这里的示例通过在跨多个服务计算设备的分布式分区配置中存储数据的强一致副本,使得所存储的数据高度可用。在一些情况下,可以使用Raft一致性算法来维持分布式分区中的分布式数据的一致性。在Raft一致性算法中,可以选择一个计算节点作为前导,并且可以负责服务所有读取和写入操作。其它计算节点是接收所有事务的副本以使它们能够更新其自身的分区的跟随节点。如果前导计算节点发生故障,则跟随计算节点中的一个可以被选为前导,并且可以接管服务的读取和写入事务。这里的系统的客户端计算设备能够发现哪个计算节点是Raft前导并且将请求定向到该计算节点。如果分区的前导应该变化,则客户端可以被自动路由到新的前导。
[0021]出于讨论的目的,在本文的一些示例中,分区可以包含元数据数据库的元数据,元数据数据库描述存储在一个或更多个外部存储节点、系统内的存储节点、云存储设备等中的数据。然而,这里的实现不限于这种使用,并且可以应用于其它类型的数据、数据库、存储配置等。此外,在与云本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种系统,所述系统包括:由可执行指令配置以执行操作的一个或更多个处理器,所述操作包括:通过所述一个或更多个处理器接收用于分割包括多个元数据对象的第一分区的指令;通过所述一个或更多个处理器在第一时间点存储所述多个元数据对象的状态的第一快照;通过所述一个或更多个处理器创建第二分区和第三分区以各自接收所述元数据对象的一部分,所述第二分区和所述第三分区各自包括度量模式;通过所述一个或更多个处理器基于所述第一快照中的信息,来确定所述第二分区和所述第三分区中的所述度量模式的信息;在所述确定期间,通过所述一个或更多个处理器接收对所述第一分区的写入;通过所述一个或更多个处理器基于所述写入更新所述第一分区,并基于所述写入向数据结构添加分割更新命令;通过所述一个或更多个处理器基于所述分割更新命令来更新所述第二分区或所述第三分区中的所述度量模式中的至少一个。2.根据权利要求1所述的系统,其中,所述分割更新命令包括:用于将至少一个度量模式改变为对应于在所述第二分区或所述第三分区中的相应一个中包括写入的条件的信息。3.根据权利要求2所述的系统,其中,所述操作还包括:在用所述更新分割命令更新所述度量模式中的至少一个的同时,阻止对所述第一分区的写入。4.根据权利要求1所述的系统,所述操作还包括:在基于所述第一快照中的信息确定所述第二分区和所述第三分区中的度量模式的信息之后,获取所述第一分区的第二快照;以及基于所述第二快照和数据结构中的信息,来确定所述第二分区和所述第三分区中的度量模式的附加信息。5.根据权利要求4所述的系统,所述操作还包括:在基于所述第二快照和所述数据结构中的所述信息确定所述第二分区和所述第三分区中的所述度量模式的所述附加信息期间,接收对所述第一分区的附加写入;基于所述附加写入更新所述第一分区,并基于所述附加写入向所述数据结构添加附加分割更新命令;以及基于所述附加分割更新命令,来更新所述第二分区或所述第三分区中的度量模式中的至少一个。6.根据权利要求1所述的系统,所述操作还包括:基于所述写入来更新所述第二分区或第三分区中的至少一个中的所述元数据对象的所述部分,其中所述度量模式是基于所述分割更新命令来更新的。7.根据权利要求1所述的系统,所述操作还包括:激活所述第二分区和所述第三分区以接收写入,并标记所述第一分区以进行删除。8.根据权利要求1所述的系统,所述操作还包括:使用非密码散列算法,来将所述元数据对象分配给所述第一分区内的相应密钥范围。...

【专利技术属性】
技术研发人员:凯文
申请(专利权)人:日立数据管理有限公司
类型:发明
国别省市:

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

1