用于动态划分的计算机实现方法技术

技术编号:13113177 阅读:188 留言:0更新日期:2016-04-01 09:06
本发明专利技术涉及用于动态划分的计算机实现方法。当处理对于至少一个键(12)的数据(11)的请求(13)时:向预定分片存储(20)提供该请求(13);该预定分片存储(20)通过其局部子范围集合(42)校验所述至少一个键(12)是否存在于存储在所述预定分片存储(20)上的分片(30)的局部子范围(40)内;以及当至少一个键(12)不存在于存储在所述预定分片存储(20)上的分片(30)的局部子范围(40)内时,返回包括所述预定分片存储(20)的所述局部子范围集合(42)的消息(60)。

【技术实现步骤摘要】

本专利技术主要涉及一种用于动态划分包括由包含在全局排序范围内的键可识别的数据的数据库的计算机实现方法。
技术介绍
数据库分片是数据库的水平分区。每个此个别分区被称为分片或数据库分片。水平分区是一种数据库设计原理,由此将多行数据库的不同子集保持在单独的水平分区中。因而,每个此水平分区形成一个分片。当数据库被水平地分区为多个分片时,这在可扩展性方面提供潜在优点,因为可能将分片布置在例如为数据库服务器的不同分片存储上,因而允许数据库的扩大超过单个数据库服务器的性能和存储容量限制。可使用各种对数据库分片的方法以满足此扩展,并且已经出现了分区数据库架构,其横跨不同分片存储自动分片并且使负荷均衡,从而使分片更容易。这些架构通常使用基于键的哈希分区或范围分区,以将数据分配给存储该数据库的分布计算系统的分片存储。例如在US2014/0108421中描述了基于键的哈希分区的示例,其中计算键的模或者更复杂的哈希,并且向每个分片存储分配特定范围的这些已计算哈希,其中预期分布将是均衡的。采用此方法的第一问题在于,在大规模数据库系统中,根据键的这些哈希的计算的需要相当大的计算功率和时间,因此导致在处理对这些键的数据的请求时延迟增大。另外,即使当使用复杂的哈希机制时,也难以确保在不同的数据存储之间均衡分布,特别是对于不能够提前可靠地评价其键和其相关联的数据的大规模分布数据库。又进一步问题在于,例如US2014/0108421中所述的,高百分比的分布操作的此分布数据库系统的降低的性能。在这些分布操作期间,必须访问多个分片存储,以便执行需要多个键的数据,诸如单个客户的一系列订单记录,的请求。为了降低分布操作的比重,并且提高单个分片读和写操作的比重,US2014/0108421提出使用分片控制记录,其使单调键范围与通过辅助哈希方法在其上分布多个记录或多行的多个分片存储相关联。虽然这导致在处理与如图3中所示的特定顾客ID相关联的数据时单个分片的读和写操作的比重增大,并且虽然分片控制记录提供与键范围相关联的分片列,而不需要将此元数据存储在个别键级别上,但是对于需要对其检索数据的每个键列,仍需要计算辅助哈希,以便确定将访问分片列的哪个分片存储。另外,使用单调键,例如顾客ID,导致标准应用水平情况下的不良性能,其中例如需要为了由用户检索和/或选择而产生顾客的排序列。应明白,在此标准情况中,诸如例如当向用户提出用户界面以通过用户的按字母顺序分类列而分页时,因为按字母顺序存储的列中的相邻顾客的单调顾客id不是必然存在于相同顾客id范围内,并且即使它们将处于相同范围内,也不确保它们将被存储在该分片列中的相同分片存储上,所以这将导致该分片控制记录的大量访问请求。另外,US2014/0108421的方法要求在可由系统的所有分片存储可访问的中心位置处的始终最新的分片控制记录,这产生了单一故障点,并且对此系统的可扩展性和响应性产生限制,尤其是在其中涉及大量分片存储的大规模分布数据库系统中。从W02013/147785已知划分数据库的进一步方法,其中通过与用于在存储节点之间分布目标的相同基于哈希的划分方法划分用于复制的目标存储系统的索引,然后在系统中的所有存储节点之间分布这些索引分片。同样地,这里需要同步保持在不同存储节点上存储的所有索引分片,这导致延迟更长并且对此系统的可扩展性产生限制。另外,该索引产生基于哈希的分片,这导致高比率的分布操作,其中当执行标准操作,诸如例如列举存储在所选容器,诸如例如文件夹、组、标签等等中的数据目标的按字母顺序分类列时,需要访问多个不同的分片存储。随着其在对分片索引做出的请求以及涉及数据目标自身的要求两者的水平上显现,此效果被进一步恶化。从US2012/0271795已知划分数据库的又进一步方法,其中协同服务管理涉及总键范围的键的对每个可响应为总键范围一部分的局部键子范围的多个节点的请求的分布。根据数据库表中的节点的数目以及行或键数目选择每个节点的局部键子范围。此系统要求节点上的所有键子范围彼此同步并且与协同服务同步,这对可扩展性产生限制。另外,如果不可获得关于用于总键范围的数据库中的键分布的知识,就存在下列高风险,即所选局部键子范围将导致在节点之间的数据的不均衡分布。从US2012/0254175已知划分数据库的又进一步方法,其中该数据库包含由全局排序范围内所包含的键可识别的数据。提供也称为块的多个分片,每个分片被配置成处理对局部子范围内的至少一个键的数据的请求,此局部子范围包含所述全局排序范围的排序子范围,例如,通过键的最小值和键的最大值之间的范围定义该全局排序范围。将请求发送至正确分片的路由进程访问来自配置服务器所存储的信息以及关于每个分片的信息,诸如最小和最大键值,以及在其上存储该分片的分片存储。应明白,该配置服务器的此信息必须始终与每个分片存储上的实际情况同步,这导致延迟增大,并且对可扩展性产生限制。为了提高再均衡该系统时的灵活性,每个分片的最大大小被限于例如200MB,并且当分片达到其最大大小时,其就分为每个包括分开分片的局部子范围的分片的两个新分片。以此方式,可在系统的每个分片存储上获得大量的小分片,并且能够通过简单地将这些小分片从它们的分片存储移动至另一负载较小的分片存储而执行再均衡。然而,因为必须在能够执行请求之前,由配置服务器以最新配置信息更新路由器,这要求配置服务器持续地与这些频繁更新同步,这些频繁更新是由大量分片、频繁产生的新分片以及分片在分片存储之间的频繁再定位产生的,这对系统的可扩展性产生限制,并且提高了延迟。另外,分片的尺寸越小,涉及键的排序子集,诸如例如容器中的数据目标、文件夹中的文件、表格中的顾客等等的按字母顺序排序列导致的标准要求将导致需要访问分布在多个分片存储上的多个分片的机会越高,因此减少了单个分片操作的比重,并且导致相应的性能降低。在W02012/068184中还公开了一种可动态扩展的冗余分布存储系统。其公开了一种使用副本,例如RAID,或者使用纠错码或者ECC,诸如例如纠删码,以实现特定冗余水平的存储系统。该存储系统包括文件管理器控制器和存储管理器控制器,将文件标识符和数据块与存储该文件和数据块的存储装置相关联。能够使用分布哈希表实现此文件管理控制器,分布哈希表例如作为哈希表列实现,其包含与该文件管理器负责的独特文件标识符值的范围相关联,例如该公开的图2C中所示。如图所示,每个文件管理器必须了解其自身的键值的局部子范围,其为圆形总键范围的一定比重。另外,其也必须了解至少关于管理在其自身局部子范围之前的局部子范围的文件管理器,以及管理在其自身局部子范围之后的子范围的文件管理器的信息。认为由于分布哈希表的分布特性,所以当使用时,节点可用的此哈希表列可能不完全精确,这是因为配置此列需要时间,在此期间可能发生节点故障或者分布哈希表再均衡。该系统依赖于下列假定,即使信息过时,此过时信息也将在任何情况下通往具有更靠近期望节点的范围的节点,因此最终导致通过一个或更多中间跳而访问期望节点。然而,在大规模分布数据库系统中,此假定不是始终成立,并且例如当相邻节点的信息和/或它们的相应局部子范围将过时的时候,会导致不可逆数据或不可接受的延迟。不难想象下列情况,其中请求将在仍将彼此视本文档来自技高网...

【技术保护点】
一种用于动态划分数据库(10)的计算机实现方法,所述数据库(10)包括由包含在全局排序范围(14)内的键(12)可识别的数据(11),其中所述方法包括下列步骤:‑提供多个分片存储(20),其每个包括分片存储标识符(22)并且每个受限于存储容量限制;‑提供多个分片(30),每个分片(30)被配置成处理对于局部子范围(40)内的至少一个键(12)的数据(11)的请求(13),所述局部子范围(40)包括所述全局排序范围(14)的排序子范围;‑在所述分片存储(20)上提供所述分片(30),以便单个分片(30)不延伸超过单个分片存储(20);‑在每个所述分片存储(20)上提供局部子范围集合(42),每个局部子范围集合(42)包括存储在其相应的分片存储(20)上的分片(30)的所述一个或更多局部子范围(40);‑当处理对于至少一个键(12)的数据(11)的所述请求(13)时:‑向预定分片存储(20)提供所述请求(13);‑所述预定分片存储(20)通过其局部子范围集合(42)校验所述至少一个键(12)是否存在于存储在所述预定分片存储(20)上的分片(30)的局部子范围(40)内;以及‑当至少一个键(12)不存在于存储在所述预定分片存储(20)上的分片(30)的局部子范围(40)内时,返回包括所述预定分片存储(20)的所述局部子范围集合(42)的消息(60)。...

【技术特征摘要】
...

【专利技术属性】
技术研发人员:简·多姆斯卡尔·雷涅·达吕安罗曼·雷蒙德·阿格尼丝·斯洛滕梅克斯尼古拉斯·特朗热雷德里克·德·斯赫雷弗约亨·梅斯
申请(专利权)人:安普里达塔公司
类型:发明
国别省市:比利时;BE

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

1