可扩展分布式数据库的系统和方法技术方案

技术编号:18763863 阅读:24 留言:0更新日期:2018-08-25 10:31
本发明专利技术涉及可扩展分布式数据库的系统和方法。一种水平扩展分布式数据库系统的方法,所述方法包括:将多个数据库服务器分组成多个现有集群,其中,所述多个现有集群中的每一者由一个或多个数据库服务器组成;将一个或多个新的数据库服务器添加到所述分布式数据库系统,其中,新集群形成为包括所述一个或多个新的数据库服务器;将进入所述分布式数据库系统的新数据存储在所述新集群中,其中,在数据库服务器和多个客户端之间仅仅交换控制消息,且现有集群仍能够用于数据更新、数据删除、数据搜索和其它操作;以及其中,在水平扩展期间没有数据重新分配。

【技术实现步骤摘要】
可扩展分布式数据库的系统和方法相关申请本申请要求于2017年2月3日提交的美国临时专利申请62499662的优先权,该美国临时专利申请的公开内容通过引用并入本文中。
本专利技术总体涉及数字数据存储和检索。更具体地说,本专利技术涉及可扩展的分布式数据库的系统和方法。
技术介绍
传统的分布式数据库系统将数据存储在通常由多个数据库服务器组成的集群中。当数据库系统中的数据量达到数据库系统的满容量或容量阈值时,引入新的计算机服务器并将其添加到数据库系统以存储更多的数据。这种向现有服务器添加新服务器并使新数据库服务器能够接受更多数据的过程通常被称为分布式数据库系统的水平扩展。这些传统的分布式数据库系统中的水平扩展需要数据库服务器之间的数据重新分配。也就是说,已经存储在现有数据库服务器中的一部分或全部数据被迁移到一个或多个新的数据库服务器。这些服务器之间的该数据交换过程成本高、耗时且需要资源。当系统中的总数据量较大时,该迁移可能需要很长时间(以小时或天计)。扩展过程可能会在生产系统中造成很长的停机时间。
技术实现思路
本专利技术涉及在数据库扩展过程期间不需要数据重新分配的系统和方法。不需要数据重新分配(也称为数据迁移)可以在数据库扩展过程期间节省数小时、或者数天甚至数周的开销。本专利技术的实施方式公开了在数据库服务器之间仅交换控制消息。控制消息可以包括系统配置信息、网络拓扑信息、数据库和表格结构信息以及任何其它种类的元数据信息。在所述实施方式中,将数据库服务器分组为集群。数据库服务器可以是物理计算机或虚拟服务器。存储在现有数据库服务器中的数据不会迁移到新服务器。将新的数据库服务器添加到分布式数据库系统时,会形成新集群以包含该新的服务器。最初,分布式数据库系统可以由一个或多个集群组成。每个集群由一个服务器或多个服务器组成。现有集群包括现有的数据库服务器并管理现有的数据库服务器。该新集群包括新的数据库服务器并管理新的数据库服务器。将进入系统的新数据存储在新集群的数据库服务器中。现有集群仍可用于数据更新、数据删除、数据搜索和其它操作。现有集群仍然可以接受更多的新数据,但新数据主要被该新集群所接受。通过现有集群接受数据有助于扩展过程的平稳过渡。该新集群可用于包括更新操作、删除操作、搜索操作、插入操作和其它操作的所有数据操作。或者,可以引入两个或更多新集群并将其添加到现有集群。哈希(hashing)、舍入(round-bin)或可配置的策略可以用来选择新集群或一组新集群来插入新的数据。附图说明参照以下附图可以更好地理解本专利技术的许多方面。附图中的部件不一定按比例绘制,而是着重于清楚地示出本专利技术的原理。此外,在附图中,贯穿若干视图,相同的附图标记表示相应的部分。图1示意性地示出根据本专利技术的各个实施方式的数据库服务器的现有集群以及包含新数据库服务器的新集群。图2示出根据本专利技术的各个实施方式的由数据库客户端对数据库记录的操作。图3示出根据本专利技术的各个实施方式的数据库交换机针对客户端请求选择数据库集群。图4示出根据本专利技术的各个实施方式的所选数据库集群接收对数据库记录的操作。图5示出使用哈希方法访问数据库记录的一个实施方式。图6示出使用范围方法访问数据库记录的另一个实施方式。具体实施方式本专利技术涉及在数据库扩展过程期间不需要数据重新分配的系统和方法。本专利技术的实施方式公开了将分布式数据库服务器在逻辑上组织成集群的分布式数据库系统。也就是说,每个集群由一个或多个数据库服务器组成。在所述分布式数据库系统的正常操作状态下,存在一个或多个服务器集群以服务于在系统中添加新数据、更新现有数据、删除现有数据、搜索数据或对数据或元数据进行任何其它类型的操作的请求。在扩展过程中,将要添加到系统的新服务器在逻辑上分组到一个新集群中。现在参考图1中所示的示意图,集群1和集群2表示根据本专利技术的实施方式的分布式数据库系统中的现有集群。在集群1和集群2中存在多个现有的数据库服务器S1、S2、S3、S4、S5、S6。集群3表示包含新增数据库服务器S7、S8、S9的新集群。在这些实施方式中,任何集群中的数据库服务器的数量不是固定的,并且可以是大于零的任何数。所有的服务器都与以太网(Ethernet)、无限带宽(Infiniband)、WiFi、GPRS、5G等网络通信线路相互连接,以及它们可以将数据发送到分布式数据库系统中的其它服务器或从分布式数据库系统中的其它服务器接收数据。图2是示出根据本专利技术的实施方式的对现有集群和新集群中的数据库记录的不同操作的示意图。客户端计算机连接到现有集群(集群1)和新集群(集群3)中的数据库服务器。客户端计算机可以是集群外的外部计算机或集群内的内部计算机服务器,例如计算机主机、台式PC、便携式PC、智能手机或移动设备。对于新集群(集群3)中的任何一个服务器,都可以执行对数据记录或元数据记录的插入操作、更新操作、删除操作、选择操作和其它任何操作。元数据信息包括数据库模式信息、服务器配置信息或关于系统的任何其它系统或网络相关信息。插入操作指的是向系统添加新的数据。更新操作指的是更新系统中的数据。删除操作指的是删除系统中的数据。选择操作指的是从系统中搜索或读取数据。根据本专利技术的某些实施方式,对于现有集群(集群1)中的任何服务器,除了插入操作之外,允许新集群(集群3)中所允许的所有操作。在某些情况下,可以在现有集群中执行插入操作。例如,可能会出现以下情况:在一个或多个现有集群中删除了许多数据记录,并且这些集群上的存储空间可再次用以存储新数据。在这样的情况下,根据一个实施方式,系统可以被配置为使得这些集群可以用于插入新的数据。该信息可以在控制消息(在交换机中)中提供,并且系统将知道使用哪些集群来插入新的数据记录。实际上,新集群中的服务器接受大部分(如果不是全部的话)新的数据库记录。在本专利技术的实施方式中,关于集群的信息由一个或多个数据库交换机存储、更新和管理。该一个或多个数据库交换机存储当前系统中的集群数量、每个集群的属性、每个集群中的每个成员服务器的属性以及其它相关信息。集群属性包括表示集群是新集群还是现有集群的标志、记录存储的数据库记录的时间戳或一系列时间戳、集群中成员服务器的数量、总存储容量、系统中集群的序列号、允许对集群进行的操作、管理元数据信息的服务器的规范以及关于集群的任何其它信息。数据库服务器的属性包括服务器存储容量、集群中服务器的序列号、指示是否可以管理元数据信息的标志、硬件规范以及关于服务器的任何其它信息。图3示意性地示出了,根据本专利技术的实施方式,数据库交换机被嵌入在任何数据库服务器或数据库客户端中。当新数据库服务器添加到系统或从系统中移除时,所有交换机中的信息都会更新和同步。当客户端连接到服务器时,存储在交换机中的信息从一个或多个服务器被检索,并且可以通过在所有服务器和客户端之间交换消息来同步。在本专利技术的另一个实施方式中,独立交换机保持在任何服务器或客户端之外。服务器和客户端首先与独立交换机建立网络连接,然后请求其管理的信息。图4示出了,根据本专利技术的实施方式,数据库交换机用于将客户端请求路由到分布式数据库系统中的仅所选集群或全部集群。如果客户端请求包含时间数据记录,则交换机可以查找集群的时间戳范围,并将该请求路由到满足时间条件的集群。例如本文档来自技高网...

【技术保护点】
1.一种水平扩展分布式数据库系统的方法,所述方法包括:将多个数据库服务器分组成多个现有集群,其中,所述多个现有集群中的每一者由一个或多个数据库服务器组成;将一个或多个新的数据库服务器添加到所述分布式数据库系统,其中,新集群形成为包括所述一个或多个新的数据库服务器;将进入所述分布式数据库系统的新数据存储在所述新集群中,其中,在数据库服务器和多个客户端之间仅仅交换控制消息,且现有集群仍能够用于数据更新、数据删除、数据搜索和其它操作;并且,在水平扩展期间没有数据重新分配。

【技术特征摘要】
2017.02.03 US 62/499,662;2017.12.13 US 15/840,3911.一种水平扩展分布式数据库系统的方法,所述方法包括:将多个数据库服务器分组成多个现有集群,其中,所述多个现有集群中的每一者由一个或多个数据库服务器组成;将一个或多个新的数据库服务器添加到所述分布式数据库系统,其中,新集群形成为包括所述一个或多个新的数据库服务器;将进入所述分布式数据库系统的新数据存储在所述新集群中,其中,在数据库服务器和多个客户端之间仅仅交换控制消息,且现有集群仍能够用于数据更新、数据删除、数据搜索和其它操作;并且,在水平扩展期间没有数据重新分配。2.如权利要求1所述的方法,其中,所述数据库服务器是物理计算机或虚拟服务器。3.如权利要求2所述的方法,其中,所述新集群包括所述一个或多个新的数据库服务器并管理所述一个或多个新的数据库服务器。4.如权利要求3所述的方法,其中,所述新集群能够用于包括更新操作、删除操作、搜索操作、插入操作和其它操作的所有数据操作。5.如权利要求4所述的方法,其中,在形成所述新集群之后,在所述现有集群中不允许所述插入操作。6.如权利要求5所述的方法,其中,关于所述集群的信息由数据库交换机存储、更新和管理。7.如权利要求6所述的方法,其中,所述数据库交换机存储所述分布式数据库系统中的集群数量、每个集群的属性以及每个集群中的每个数据库服务器的属性,并且其中交换机数据位于每个数据库服务器和每个客户端中。8.如权利要求7所述的方法,其中,集群的所述属性...

【专利技术属性】
技术研发人员:乔纳森·战军·岳
申请(专利权)人:数据捷豹有限公司
类型:发明
国别省市:美国,US

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

1