Mpp架构数据库集群序列系统及序列管理方法

文档序号:9687644阅读:433来源:国知局
Mpp架构数据库集群序列系统及序列管理方法
【技术领域】
[0001]本发明属于集群数据库领域,尤其是涉及一种MPP架构数据库集群序列系统及序列管理方法。
【背景技术】
[0002]随着信息化技术的快速发展,一个企业的用户数量、数据量均呈现爆炸式增长,在业务量提高的同时,数据库的访问量和数据量快速增长对数据库处理能力和计算强度也相应增大,使得单一节点数据库根本无法承担。在这样一个背景下,大型分布式数据库集群产生了,所谓数据库集群,是指利用两台或多台数据库服务,构成一个虚拟单一数据库逻辑映像,像单数据库那样,向客户端提供透明的数据服务。
[0003]目前,有两种主流的数据库集群架构,带中心节点的集群架构和不带中心节点的MPP架构。带中心节点的集群架构,集群元数据只有一份,由中心节点统一负责管理;不带中心节点的MPP架构,集群元数据有多份,每个集群节点一份,且完全相同,由各个集群节点自身维护。
[0004]在数据库系统中,包括数据库的表(Tab1 e)、索引(Index)、视图(View)等数据库对象。序列(Sequence)也是数据库对象的一种,在单机数据库中,该对象用于生成唯一序列,供业务使用,用于唯一识别某条表记录,其特点是该序列生成的序列值是单调递增(或递减)的,在数据库中由同一序列对象的实例生成的序列值唯一。而在数据库集群中,特别是在MPP架构的集群中,由于没有中心节点,所以没有全局中心负责序列的管理工作,无法实现像单机一样的序列对象。

【发明内容】

[0005]本发明实施例提供了一种MPP架构数据库集群序列系统及序列管理方法,用以实现在MPP架构数据库集群中实现序列管理的目的。
[0006]第一方面,本发明实施例提供了一种MPP架构数据库集群序列系统,所述系统包括:
[0007]节点sequence序列模块,用于存储序列值,为所属节点生成全局唯一序列数值;
[0008]中心sequence序列模块,用于管理全局序列sequence对象,并协调各节点sequence序列模块工作。
[0009]进一步的,所述中心sequence序列模块用于:
[0010]增加、修改、删除和查询Sequence对象。
[0011]进一步的,所述中心sequence序列模块部署于所述MPP架构数据库集群中虚拟中心节点。
[0012]更进一步的,所述节点sequence序列模块部署于对应的数据库集群节点中。
[0013]第二方面,本发明实施例提供了一种MPP架构数据库集群管理方法,所述装置包括:[OOM]节点sequence序列模块接收客户端的管理序列sequence对象请求;
[0015]根据所述管理序列sequence对象请求获取管理序列sequence对象;
[0016]将所述管理序列sequence对象发送至中心sequence序列模块;
[0017]中心sequence序列模块执行所述sequence对象的管理。
[0018]进一步的,所述节点sequence序列模块接收客户端的管理序列sequence对象请求,包括:
[0019]所述集群节点接收客户端的管理序列sequence对象请求;
[°02°]集群节点将所述管理序列sequence对象请求发送至节点sequence序列模块;
[0021]节点sequence序列模块判断自身是否具有序列数值,在判断有序列数值时,生成序列数值,返回该序列数值给本节点。
[0022]进一步的,所述方法还包括:
[0023]节点sequence序列模块判断自身是否具有序列数值,在判断没有序列数值时,节点sequence序列模块向中心sequence序列模块申请一组序列数值;
[0024]中心sequence序列模块向节点sequence序列模块返回一组序列数值。
[0025]更进一步的,在创建sequence序列对象时通过cache参数所述指定序列数值的大小。
[0026]由于采用上述技术方案,可以让MPP架构的数据库集群具有sequence序列功能,包括sequence序列对象管理,使得使用MPP架构数据库集群的sequence功能可以获得和单机数据库相同的体验;此外通过节点sequence模块和中心sequence模块的配合,可以提供高性能的sequence功能;如果用户使用sequence功能比较频繁,用户定义sequence对象时,可以定义cache参数为一个较大的值,这样使得每个集群节点可以像单机数据库一样提供sequence功能,多个集群节点并发提供sequence功能,使得其性能远远大于单机sequence数据库。
【附图说明】
[0027]为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0028]图1是本发明第一实施例提供的MPP架构数据库集群序列系统的结构示意图;
[0029]图2是本发明第二实施例提供的MPP架构数据库集群序列sequence管理方法的流程不意图;
[0030]图3是本发明第三实施例提供的MPP架构数据库集群序列sequence管理方法的流程不意图。
【具体实施方式】
[0031]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0032]图1是本发明第一实施例提供的MPP架构数据库集群序列系统的结构示意图。参见图1,所述MPP架构数据库集群序列系统,包括:
[0033]节点sequence序列模块,用于存储序列值,为所属节点生成全局唯一序列数值;
[0034]中心sequence序列模块,用于管理全局序列sequence对象,并协调各节点sequence序列模块工作。
[0035]在本实施例中,所述MPP架构数据库集群序列系统包括三个节点,其中在每个节点都分别布置有一个节点sequence序列模块,该模块可以通过软件或硬件方式实现,用于存储序列值,为所属节点生成全局唯一序列数值。所述系统还包括中心sequence序列模块,该模块可以独立部署在数据库集群外,也可以部署在MPP架构数据库集群的虚拟中心,用于管理全局序列sequence序列对象,并协调各节点sequence序列模块工作。所述管理全局sequence序列对象,包括sequence序列对象的新增、修改、删除和查询功能。所述中心sequence序列模块和节点sequence序列模块相互配合,共同实现管理全局序列sequence序列对象的功能。
[0036]本实施例所提供的技术方案,可以让MPP架构的数据库集群具有sequence序列功能,包括sequenc序列对象管理,使得使用MPP架构数据库集群的sequence功能可以获得和单机数据库相同的体验;此外通过节点sequence模块和中心sequence模块的配合,可以提供高性能的sequence功能;如果用户使用sequence功能比较频繁,用户定义sequence对象时,可以定义cache参数为一个较大的值,这样使得每个集群节点可以像单机数据库一样提供sequence功能,多个集群节点并发提供sequence功能,使得其性能远远大于单机sequence数据库。
[0037]图2是本发明第二实施例提供的MPP架构数据库集群序列sequence管理方法的流程不意图。
[0038]参见图2,所述MPP架构数据库集群序列sequence管理方法,包括:
[0039]步骤210,节点sequence序列模块接收客户端的管理序列sequence对象请求。
[0040]用户通过客户端软件向MPP架构数据库集群中任意一个节点发送管理序列sequence对象请求,节点在收到管理序列sequence对象请求后,将所述管
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1