一种创建支持mpp数据库中的可重读隔离级别的分布式事务管理器的系统和方法

文档序号:9916923阅读:450来源:国知局
一种创建支持mpp数据库中的可重读隔离级别的分布式事务管理器的系统和方法
【专利说明】一种创建支持MPP数据库中的可重读隔离级别的分布式事务管理器的系统和方法
[0001 ]相关申请案交叉申请
[0002]本申请要求于2013年10月31日递交的发明名称为“一种创建支持MPP数据库中的可重读隔离级别的分布式事务管理器的系统和方法”申请号为14/068,466的美国专利申请的在先申请优先权,该在先申请的内容以引入的方式并入本文。
技术领域
[0003]本发明总体涉及数据库系统,尤其涉及一种创建支持大规模并行处理数据库中的可重读隔离级别的分布式事务管理器的系统和方法。
【背景技术】
[0004]大规模并行处理(massively parallel processing,MPP)数据库是一种大量处理器在其中并行地进行一套计算的数据库。在MPP系统中,多个处理器以协作的方式处理程序,其中,每一个处理器处理所述程序的不同部分和/或不同数据。MPP系统的计算资源是分布式的,运行在不同的物理/虚拟节点上。MPP数据库系统可以基于无共享(shared-nothing,SN)或共享磁盘(shared disk,SD)架构,其中,数据库中的表被划分成多个分区分配至不同的处理节点。对于数据库查询,根据数据分布和优化的执行方案划分每次查询的任务,将其分配至所述处理节点。每个处理节点中的处理实体仅管理自己部分的数据。但是,在执行过程中,所述处理实体可以相互进行通信,以交换必要信息。
[0005]MPP数据库中的事务会在一个或多个互联的计算机系统中更新或选择数据。事务是动作集合的逻辑分组,包括查询,例如,选择数据、更新数据、插入数据以及删除数据等。涉及多个节点的事务系统需要包括当前活动事务的全局信息。这种信息通常称为事务“快照”。这可以通过为所有节点创建全局跟踪快照的集中组件实现。但是,集中组件带来如单点故障(single point of failure,SP0F)和扩展性有限等问题。需要一种处理MPP数据库中快照的改进方法。

【发明内容】

[0006]根据一个实施例,一种大规模并行处理(massively parallel processing,MPP)数据库系统集群中的处理节点间进行事务处理的方法,该方法用于第一节点,该方法包括:在开始事务之前,识别参与所述事务的第二节点;向所述第二节点请求所述第二节点上当前事务的快照。所述方法还包括:从所述第二节点接收所述第二节点上当前事务的快照;将从所述第二节点上接收的事务的快照与所述第一节点上的当前事务合并,以得到协调快照。然后,将所述协调快照从所述第一节点发送至所述第二节点。然后,所述第一节点使用所述协调快照开始所述事务。
[0007]根据另一个实施例,一种MPP数据库系统集群中的处理节点间进行事务处理的方法,该方法用于第一节点,该方法包括:接收关于所述第一节点上当前事务的快照的请求。所述请求是在开始第二节点上的事务之前并在识别出待参与所述事务的所述第一节点的情况下从所述MPP系统的所述第二节点接收的。所述方法还包括:向所述第二节点发送所述第一节点上当前事务的快照;从所述第二节点接收协调快照,其中,所述协调快照是合并所述第一节点和所述第二节点上当前事务的快照得到的。然后,在所述第二节点上事务的触发下,在所述第一节点上开始子事务。所述第一节点根据所述协调快照进行所述子事务。一旦结束所述子事务,所述第一节点从所述第二节点上为提交命令准备所述子事务,在所述第一节点和所述第二节点间执行两阶段提交(two phase commit,2PC)协议。
[0008]根据另一个实施例,一种用于在MPP数据库中进行事务处理的集群节点包括:至少一个处理器,和非瞬时性计算机可读存储介质,用于存储所述至少一个处理器执行的程序。所述程序包括用于执行以下操作的指令:在开始事务之前,识别参与所述事务的第二集群节点;向所述第二集群节点请求所述第二集群节点上当前事务的快照。所述程序还包括用于执行以下操作的指令:从所述第二集群节点接收所述第二集群节点上当前事务的快照;将从所述第二集群节点上接收的当前事务的快照与所述集群节点上当前事务合并,以得到协调快照。所述集群节点还用于将所述协调快照发送至所述第二集群节点,使用所述协调快照开始所述事务。
[0009]根据又一个实施例,一种参与MPP数据库中的事务处理的集群节点包括:至少一个处理器,和非瞬时性计算机可读存储介质,用于存储所述至少一个处理器执行的程序。所述程序包括执行以下操作的指令:接收关于所述集群节点上当前事务的快照的请求。所述请求是在开始第二集群节点上的事务之前并在识别出待参与所述事务的所述集群节点的情况下从所述第二集群节点接收的。所述程序还包括执行以下操作的指令:向所述第二节点发送所述第一节点上当前事务的快照;从所述第二集群节点接收协调快照,其中,所述协调快照是合并所述集群节点和所述第二集群节点上当前事务的快照得到的。所述集群节点还用于:开始由所述第二集群节点上的事务触发的子事务;根据所述协调快照进行所述子事务。一旦结束所述子事务,所述集群节点从所述第二集群节点上为提交命令准备所述子事务;在所述集群节点和所述第二集群节点间执行两阶段提交(two phase commit,2PC)协议。
[0010]上述宽泛地概括了本发明实施例的特征,以便能够更好地理解本发明以下详细描述。以下将对本发明实施例的其他特征与优点即本发明权利要求书的主题进行描述。本领域的技术人员应当理解,所公开的概念和特定实施例易被用作修改或设计其他实现与本发明相同的目的的结构或过程的基础。本领域的技术人员还应当意识到,这种等效构造不脱离所附权利要求书所阐述的本发明的精神和范围。
【附图说明】
[0011]为了更完整地理解本发明及其优点,现在参考下文合并附图进行的描述,其中:
[0012]图1示出了大规模并行处理(massively parallel processing,MPP)数据库系统的示例;
[0013]图2示出了在MPP数据库系统中使用父快照执行事务的方法的实施例;
[0014]图3示出了在MPP数据库系统中使用父快照进行查询的方法的实施例;
[0015]图4示出了使用两阶段提交协议执行事务的方法的实施例;
[0016]图5示出了通过包括在本发明实施例内的远端节点上事务的所有子事务生成和维护全局ID的方法的实施例;
[0017]图6示出了在本地节点上的事务中执行每一个语句或查询的方法的实施例;
[0018]图7示出了不一致事务状态的示例;
[0019]图8示出了快照协调的方法的实施例;
[0020]图9示出了展示可以用于根据实施例实现,例如,此处所描述的设备和方法的计算平台的方框图。
[0021 ]除非另有指示,否则不同图中的对应标号和符号通常指代对应部分。绘制各图是为了清楚地说明实施例的相关方面,因此未必是按比例绘制的。
【具体实施方式】
[0022]首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
[0023]事务是数据库系统的原子性、一致性、隔离性和持续性(atomicity,consistency,isolat1n and durability ,ACID)特性的基础。事务可以包括多个隔离等级。ACID特性确保数据库事务能被可靠地处理。原子性要求如果事务的一个部分发生故障,则整个事务发生故障,数据库保持不变。一致性保证了事务将数据库从一种有效状态转变为另一种有效状态。隔离性保证了并发执行事务的结果与连续执行事务的结果是相同的。进一步地,持续性要求一旦事务被提交,所述事务所做的所有改变是永久性的,且即使由于断电或死机等
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1