一种支持多hash map数据库集群系统不停机的扩容方法技术方案

技术编号:11247210 阅读:141 留言:0更新日期:2015-04-01 20:09
本发明专利技术创造提供一种支持多hash map数据库集群系统不停机的扩容方法,包括以下步骤:S1.集群中的原表都绑定到现有的hash map上,现有的hash map命名为old hash map;S2.进行集群扩容时,执行产生新hash map的命令,集群产生新的hash map,并把该hash map设定为current hash map;S3.集群扩容后新创建的表自动绑定到current hash map上;S4.对原表和新表的任何操作将以current hash map为当前操作的hash map,基于old hash map的老表的原有的hash特性将丢失,需要按照current hash map进行数据动态重分布后参与和新表的运算。S5.迁移部分数据到新节点上,迁移完成后该表即可绑定到current hash map上。这种设计性能不衰减,数据过渡自然。

【技术实现步骤摘要】
【专利摘要】本专利技术创造提供,包括以下步骤:S1.集群中的原表都绑定到现有的hash map上,现有的hash map命名为old hash map;S2.进行集群扩容时,执行产生新hash map的命令,集群产生新的hash map,并把该hash map设定为current hash map;S3.集群扩容后新创建的表自动绑定到current hash map上;S4.对原表和新表的任何操作将以current hash map为当前操作的hash map,基于old hash map的老表的原有的hash特性将丢失,需要按照current hash map进行数据动态重分布后参与和新表的运算。S5.迁移部分数据到新节点上,迁移完成后该表即可绑定到current hash map上。这种设计性能不衰减,数据过渡自然。【专利说明】一种支持多数据库集群系统不停机的扩容方法
本专利技术创造涉及分布式数据库领域,具体涉及一种支持多匕也III叩数据库集群系统不停机的扩容方法。
技术介绍
在客户的业务场景中,当前集群满足不了用户的业务需求而需要对集群进行扩容时,需要在给定的时间窗口完成集群的扩容。传统意义的集群扩容主要技术为数据的搬移,通过将原有集群节点上的部分数据重分布到新加入的节点来完成扩容过程。根据数据量的大小,数据重分布的耗时在几小时到几天不等,并且在扩容过程中集群不允许0见与00[操作,仅允许查询操作,这就为集群用户带来很大不便,特别是实时系统用户不允许集群停机时间过长。
技术实现思路
本专利技术创造要解决的是扩容过程不允许用户执行0见与001操作的问题。 为解决上述技术问题,本专利技术创造采用的技术方案是:一种支持多匕也111叩数据库集群系统不停机的扩容方法,包括以下步骤: 81.集群中的原表都绑定到现有的爪叩上,现有的爪叩命名为01(1 118811 III 即; 82.进行集群扩容时,执行产生新1121811 111叩的命令,集群产生新的匕也111叩,并把该 118811 111?)设定为 0111*1*6111: 118811 111?); 83.集群扩容后新创建的表自动绑定到118811 111叩上; 84.对原表的任何操作将均使用01(1卜&也数据运算均在原有节点进行。对新表的任何操作将均使用118811 数据运算在所有的节点进行。对原表和新表的任何操作将以0111^6111:匕也111叩为当前操作的匕也111叩,基于¢)1(1匕也111叩的老表的原有的匕也特性将丢失,需要按照0111^6111:匕也111叩进行数据动态重分布后参与和新表的运算。 85.当数据自然老化后,基于01(1 118811 0?)的原表的数据将从集群中移除,当数据无法老化时,为了提高性能,迀移部分数据到新节点上,迀移完成后该表即可绑定到0111-1-6111: 118811 111?)上。 进一步地,步骤52包括以下步骤: 821.发起生成111叩的命令; 822.根据匕也桶数以及集群总节点数生成包含匕也匕7和110(161(1对应的11&81111181); 823.集群新生成的匕也111叩设定为0111^6111:匕也111叩,作为集群的缺省11&811 111叩0 进一步地,步骤322中生成匕也111叩的公式为每个节点分配的匕也匕7的总数=(集群hash桶数/物理节点总数)。 进一步地,每个节点分配的hash map的范围从0-65535中平均获取连续的一段hash keyο 进一步地,步骤S5包括以下步骤: S51.接受原表动态重分布操作的命令; S52.获得集群old hash map和扩容时新产生的current hash map ; S53.在集群所有节点上创建中间临时表; S54.集群原表按照current hash map动态重分布数据到所有节点上的中间临时表中; S55.删除集群原表,中间临时表重命名为原表,并绑定在current hash map上。 本专利技术创造具有的优点和积极效果是: 性能不衰减:由于老的集群节点存储旧数据,对于原表的查询操作,原表的DML操作均在原集群节点上进行,性能与原有性能相当。新表的操作由于在集群扩容后的所有节点上,因此操作性能将得到提升。 数据过渡自然:老集群数据依据老化原则自然老化,集群扩容后新表将创建到所有的节点上,在老表的数据没有自然老化前,只基于老表,只基于新表,以及老表和新表的混合操作都自然支持。 【专利附图】【附图说明】 图1是集群扩容后产生current hash map的流程图; 图2是原表数据重分布到新节点操作的流程图。 【具体实施方式】 —种支持多hash map数据库集群系统不停机的扩容方法,包括以下步骤: S1.集群中的原表都绑定到现有的hash map上,现有的hash map命名为old hashmap ; S2.进行集群扩容时,执行产生新hash map的命令,集群产生新的hash map,并把该 hash map 设定为 current hash map ; S3.集群扩容后新创建的表自动绑定到current hash map上; S4.对原表的任何操作将均使用old hash map,数据运算均在原有节点进行。对新表的任何操作将均使用current hash map,数据运算在所有的节点进行。对原表和新表的任何操作将以current hash map为当前操作的hash map,基于old hash map的老表的原有的hash特性将丢失,需要按照current hash map进行数据动态重分布后参与和新表的运算; S5.当数据自然老化后,基于old hash map的原表的数据将从集群中移除,当数据无法老化时,为了提高性能,迀移部分数据到新节点上,迀移完成后该表即可绑定到current hash map 上。 步骤S2包括以下步骤: S21.发起生成hash map的命令; 822.根据1^811桶数以及集群总节点数生成包含1^811匕7和110(161(1对应的卜&也11181); 823.集群新生成的113811 111叩设定为118811 111叩,作为集群的缺省卜&也 111叩0 步骤322中生成1121811 111叩的公式为每个节点分配的匕也匕7的总数=(集群11&811桶数[65536=/物理节点总数)。 每个节点分配的匕也111叩的范围从0-65535中平均获取连续的一段匕也匕丫。 步骤35包括以下步骤: 851.接受原表动态重分布操作的命令; 852.获得集群 01(1 118811 III叩和扩容时新产生的118811 111叩; 853.在集群所有节点上创建中间临时表; 854.集群原表按照118811 111叩动态重分布数据到所有节点上的中间临时表中; 855.删除集群原表,中间临时表重命名为原表,并绑定在118811 111叩上。 以上对本专利技术创造的实施例进行了详细说明,但所述内容仅为本专利技术创造的较佳实施例,不能被认为用于限定本专利技术本文档来自技高网...
一种支持多hash map数据库集群系统不停机的扩容方法

【技术保护点】
一种支持多hash map数据库集群系统不停机的扩容方法,其特征在于:包括以下步骤:S1.集群中的原表都绑定到现有的hash map上,现有的hash map命名为old hash map;S2.进行集群扩容时,执行产生新hash map的命令,集群产生新的hash map,并把该hash map设定为current hash map;S3.集群扩容后新创建的表自动绑定到current hash map上;S4.对原表的任何操作将均使用old hash map,数据运算均在原有节点进行。对新表的任何操作将均使用current hash map,数据运算在所有的节点进行。对原表和新表的任何操作将以current hash map为当前操作的hash map,基于old hash map的老表的原有的hash特性将丢失,需要按照current hash map进行数据动态重分布后参与和新表的运算。S5.当数据自然老化后,基于old hash map的原表的数据将从集群中移除,当数据无法老化时,为了提高性能,迁移部分数据到新节点上,迁移完成后该表即可绑定到current hash map上。

【技术特征摘要】

【专利技术属性】
技术研发人员:张绍勇孔德生武新崔维力
申请(专利权)人:天津南大通用数据技术股份有限公司
类型:发明
国别省市:天津;12

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

1