用于扩展无共享系统的装置和方法制造方法及图纸

技术编号:13398550 阅读:42 留言:0更新日期:2016-07-23 22:49
本发明专利技术涉及一种系统和方法,系统包括:响应于删除被增加到具有第一节点的数据存储的第二节点,用于形成数据再分布安排表的装置。数据再分布安排表存储多个参数,多个参数用于将存储在源表中的一组数据再分布至目标表中,其中:源表与第一节点相关联,目标表与所述第二节点相关联,并且多个参数包括为存储在所述源表中的一组数据再分布至目标表中指明优先级的第一参数,以及指明被同时再分布的源表的数量的平行度参数。响应于删除被增加到所述数据存储中的第二节点,依照优先级和平行度存储根据存储在数据再分布安排表中的参数将存储在源表中的一组数据再分布至目标表中的装置,其中,每个第一节点和第二节点包括各自的存储设备,独立于数据存储的其它节点的存储设备。

【技术实现步骤摘要】
用于扩展无共享系统的装置和方法本申请是申请日为2011年5月17日、申请号为201180036769.3、专利技术名称为“用于扩展无共享系统的装置和方法”的中国专利申请的分案申请。
本专利技术总体上涉及在无共享系统中的数字数据的存储和检索。更具体地,本专利技术涉及一种采用最小服务中断来扩展无共享系统的技术。
技术介绍
附图1中示出了本领域中已知的无共享网络100。所述无共享网络100或体系结构100包括主节点102和一组无共享节点104A至104H。每个无共享节点104具有它自己的专用存储器、磁盘和输入/输出设备,并独立于体系结构100中的其他节点运行。每个节点自给自足,在整个网络中无共享。因此,在整个系统中没有争论的焦点并没有共享系统资源。本体系结构的优点是它具有高扩展性。数据库系统将数据存储在分布在无共享节点中的表中。通过将每个数据(例如,每个记录或每行)分配到节点之一来存储数据。数据通常根据两种方式之一分配给节点。一种方法是散列分布,使用散列函数映射数据到节点。另一个方法是以循环或随机方式将数据分配至节点。散列计算得出的部分数据被称为分布键。分布键可以是复合键,也就是包含一行中的几个列。散列分布产生均匀的数据分布和具有相同分布键的协同定位记录(也就是指具有相同分布键的记录被分配至相同的节点)。协同定位数据经常被用于连接操作,连接操作中来自不同数据库表的数据被合并。在查询工作负载中,连接操作通常是成本最高的操作。通常通过选用连接列作为分布键,连接在每个节点的基础上被执行,而无需在处理步骤之间在节点中再分布数据。表的所有行都是使用相同的分布键进行分布。单独的表通常选择不同的分布键。节点被增加至无共享系统用来容纳更多的数据或额外的查询工作负载。当新的节点加至系统,数据需要被再分布。数据再分布通常需要单个数据的审查和位置的再分配。再评估大型数据的每一行需耗费大量时间,例如再分配数千万TB字节的数据要花费数日。因此,当需要增加一个节点至无共享系统时,通常的做法就是安排几天的宕机时间。这就需要降低与扩大无共享数据存储相关的停机时间。
技术实现思路
一种包括可执行指令用于评估扩展无共享数据存储配置的方法和计算机可读存储介质。形成具有特定参数的数据再分布安排表。数据根据数据再分布安排表在扩展的无共享数据存储中再分布。附图说明结合下面详细的说明以及相关的附图,本专利技术能够得到更好的理解:附图1图示了本领域中已知的无共享网络体系结构。附图2图示了无共享网络的主节点在本专利技术一实施例中的应用。附图3图示了无共享网络的无共享节点在本专利技术一实施例中的应用。附图4图示了有关扩展鉴别器的处理操作在本专利技术一实施例中的应用。附图5图示了安排表在本专利技术有关实施例中的应用。附图6图示了依据本专利技术一实施例的表再分布操作的执行。相同的标号代表多个附图中的视图的对应部分。具体实施方式图2示出了主节点202配置为执行本专利技术的操作。主节点202具有标准元件,例如一个或多个CPU210A到210N。所述CPU通过总线214连接到输入/输出设备212。输入/输出设备212可以包括标准元件,例如键盘、鼠标、显示器、打印机等等。网络接口电路216也连接至总线214上,使得主节点202在联网环境中进行操作。存储器220同样连接至总线214上。存储器220用于存储执行本专利技术实施例的可执行指令。尤其是,存储器220存储扩展鉴别器222。所述扩展鉴别器222包括用于估计增加至无共享系统的一个或多个节点的可执行指令。基于已有的和增加的节点性能属性,扩展鉴别器222形成一个具有参数的数据再分布安排表224,存储在存储器220中。用户可以访问表224用来重新配置数据再分布任务和/或用来追踪数据再分布任务的进度。图3示出了无共享节点304在本专利技术一实施例中的应用。所述无共享节点304也包括标准元件,例如一组CPU310A到310N连接至总线314。一组输入/输出设备312也连接至总线314。网络接口电路316同样连接至总线314,为网络提供连通性。存储器320也连接至总线314。存储器320包括用于执行本专利技术的操作的数据和可执行指令。尤其是,存储器320包括具有可执行指令的再分布模块322,所述可执行指令用来在无共享数据库段324中再分布数据。所述再分布模块322根据数据再分布安排表来分布数据。图4示出了处理操作在本专利技术一实施例中的应用。新的无共享数据存数配置被402估计。这可以用扩展鉴别器222执行。具有特定参数的数据再分布安排表随后形成404。这一操作同样也可以用扩展鉴别器222执行。数据随后在无共享系统406中被再分布。位于单个节点的再分布模块322可被用于执行该操作。图5示出了根据本专利技术一实施例配置的数据再分布安排表500。表500包括列502用来指明需要被迁移的不同的表。表500还包括列504指明优先级,所述优先级应该被归因于表的迁移。因此,例如频繁使用的表可能被分配为高的优先级。表500也指明了平行度506。平行度表征源表的数量,所述源表能够同时再分布。表500也可以具有一个或多个时间列508。时间列可以为数据迁移任务指示起始时间。时间列508还可以指示任务被执行的持续时间(例如,从午夜到早上六点连续几日直到完成)。图5示出的表500中可以包括一进度列510。进度信息表征数据迁移任务完成的百分比。最终,表500还可以包括一个完成列512,用以指示数据迁移任务是否完成。如前所述,扩展鉴别器222可以被用于形成表500。优选地,表可以被管理员进行编辑。例如,表被管理员更好地编辑以改变参数,如,优先级、平行度和时间。定期查询工具,如SQL可以被用于改变表的参数。图6示出了被再分布模块222执行的操作。在一个实施例中,再分布模块602生成一个对应于已有表602的目标表。例如,目标表在系统的新增加的节点上被形成。目标表是原始表定义的复制,但是不包含任何数据,并且相对于其他事务处理不可见。源表随后被604锁定。这就阻止了升级,但是可读。数据从源表中读出并被再分布至目标表606中。这就使得,数据被一排排读出然后被插入目标表。当数据交换完成,源表和目标表原子地交换。就是说,系统看见新的目标表替换了原始源表。表的分布策略对要用到的分布类型进行编码,例如散列或循环。在散列分布的情形下,分布策略定义分布键。优选地,每个表的分布被记录在数据库目录中(为了简便,将表和表的部分都称为表)。在散列分布的情形下,数据(一行中的一个或多个列)被用来计算散列值。散列值映射到节点,例如基于模操作。优选地,分布策略对客户应用程序是透明的,在这种情况下,分布的数据可以被客户以相同的查询进行访问。根据应用的分布,查询处理器可以选择不同的执行方案并采用归因于散列分布的协同定位。根据查询工作负载,在有关响应时间和资源占用(例如存储)方面,其处理随机分布数据不可能和处理散列分布数据一样高效。本专利技术的数据迁移可以在最小的宕机时间下执行。在一个实施例中,系统仅在初始化阶段脱机。在初始化阶段,形成数据目录,并将从已有数据库的有关所有用户表的信息定义在新的节点上。这一过程在扩展模式中为每个表获取用于状态追踪的元数据。作为初始化过程的一部分,用于所有表的策略被设置为随机分布(即散列分布策略是无效的)。在初始化完成之后,本文档来自技高网
...

【技术保护点】
一种系统,包括:响应于删除被增加到具有第一节点的数据存储的第二节点,用于形成数据再分布安排表的装置,所述数据再分布安排表存储多个参数,该多个参数用于将存储在源表中的一组数据再分布至目标表中,其中:所述源表与所述第一节点相关联,所述目标表与所述第二节点相关联,并且所述多个参数包括为存储在所述源表中的所述一组数据再分布至所述目标表中指明优先级的第一参数,以及指明被同时再分布的源表的数量的平行度参数,以及响应于删除被增加到所述数据存储中的所述第二节点,依照所述优先级和所述平行度根据存储在所述数据再分布安排表中的参数将存储在所述源表中的所述一组数据再分布至所述目标表中的装置,其中,每个所述第一节点和所述第二节点包括各自的存储设备,其独立于所述数据存储的其它节点的存储设备。

【技术特征摘要】
2010.05.26 US 12/788,2561.一种系统,包括:响应于第二节点被增加到具有第一节点的数据存储,用于形成数据再分布安排表的装置,所述数据再分布安排表存储多个参数,该多个参数用于将存储在源表中的一组数据再分布至目标表中,其中:所述源表与所述第一节点相关联,所述目标表与所述第二节点相关联,并且所述多个参数包括为存储在所述源表中的所述一组数据再分布至所述目标表中指明优先级的第一参数,以及指明被同时再分布的源表的数量的平行度参数,以及响应于所述第二节点被增加到所述数据存储中,依照所述优先级和所述平行度根据存储在所述数据再分布安排表中的参数将存储在所述源表中的所述一组数据再分布至所述目标表中的装置,其中,每个所述第一节点和所述第二节点包括各自的存储设备,其独立于所述数据存储的其它节点的存储设备。2.根据权利要求1中的系统,其中所述数据存储是非共享数据存储。3.根据权利要求1中的系统,包括用于在原子事务中将所述源表与所述目标表交换的装置。4.根据权利要求1中的系统,其中所述源表存储在所述第一节点上,并且所述目标表存储在所述第二节点上。5.根据权利要求4中系统,还包括:用于使能访问存储在所述第一节点上的数据的装置,同时所述源表中的所述一组数据被再分布至所述目标表。6.根据权利要求1中的系统,其中所述参数包括指明开始时间的时间参数,并且所述系统还包括用于根据所述开始时间延迟所述一组数据的再分布的装置。7.一种方法,包括:响应于第二节点被增加到具有第一节点的数据存储:形成数据再分布安排表,所述数据再分布安排表存储多个参数,该多个参数用于将存储在源表中的一组数据再分布至目标表中,其中:所述源表与所述第一节点相关联,所述目标表与所述第二节点相关联,并且所述多个参数包括为存储在所述源表中的所述一组数据再分布至所述目标表中指明优先级的第一参数,以及指明被同时在分布的源表的数量的平行度参数,以及依照所述优先级和所述平行度存储根据存储在所述数据再分布安排表中的参数,将存储在所述源表中的所述一组数据再分布至所述目标表中,其中,所述第一节点和所述第二节点中的...

【专利技术属性】
技术研发人员:布莱恩·哈根布什加文·谢里杰弗瑞·艾尔·科恩克里斯·佩德罗第约翰·埃谢尔曼弗洛莱恩·迈克尔·华伦乔·杰·肯特
申请(专利权)人:毕威拓软件公司
类型:发明
国别省市:美国;US

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

1