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

技术编号:15079709 阅读:69 留言:0更新日期:2017-04-07 12:15
实施例提供了在不包括集中式组件的大规模并行处理(massively parallel processing,MPP)数据库系统中支持可重读隔离等级的分布式事务管理器。在开始事务之前,第一节点识别参与所述事务的第二节点,向所述第二节点请求所述第二节点上当前事务的快照。从所述第二节点接收到所述快照之后,所述第一节点将所述第二节点上事务的快照和所述第一节点上的当前事务的快照合并,以得到协调快照。然后,所述第一节点将所述协调快照发送至所述第二节点,使用所述协调快照开始所述事务。然后,根据所述协调快照在所述第二节点上开始子事务。一旦结束所述事务和所述子事务,所述第一节点和所述第二节点执行两阶段提交(two phase commit,2PC)协议。

A system and method for creating a distributed transaction manager that supports a stress isolation level in a MPP database

Embodiments provide in massively parallel processing does not include centralized components (massively parallel processing, MPP) to support the distributed transaction manager can reread the isolation level in database system. Prior to the start of the transaction, the first node identifies a second node participating in the transaction, requesting a snapshot of the current transaction on the second node to the second node. After receiving the snapshot from the second node, the first node combines a snapshot of the transaction on the second node and a snapshot of the current transaction on the first node to obtain a coordinated snapshot. The first node then sends the coordinated snapshot to the second node, using the coordinated snapshot to start the transaction. Then, the sub transaction is started on the second node according to the coordinated snapshot. Once the end of the transaction and the sub transaction, the first node and the second node performs two phase commit (two phase commit, 2PC protocol).

【技术实现步骤摘要】
【国外来华专利技术】相关申请案交叉申请本申请要求于2013年10月31日递交的专利技术名称为“一种创建支持MPP数据库中的可重读隔离级别的分布式事务管理器的系统和方法”申请号为14/068,466的美国专利申请的在先申请优先权,该在先申请的内容以引入的方式并入本文。
本专利技术总体涉及数据库系统,尤其涉及一种创建支持大规模并行处理数据库中的可重读隔离级别的分布式事务管理器的系统和方法。
技术介绍
大规模并行处理(massivelyparallelprocessing,MPP)数据库是一种大量处理器在其中并行地进行一套计算的数据库。在MPP系统中,多个处理器以协作的方式处理程序,其中,每一个处理器处理所述程序的不同部分和/或不同数据。MPP系统的计算资源是分布式的,运行在不同的物理/虚拟节点上。MPP数据库系统可以基于无共享(shared-nothing,SN)或共享磁盘(shareddisk,SD)架构,其中,数据库中的表被划分成多个分区分配至不同的处理节点。对于数据库查询,根据数据分布和优化的执行方案划分每次查询的任务,将其分配至所述处理节点。每个处理节点中的处理实体仅管理自己部分的数据。但是,在执行过程中,所述处理实体可以相互进行通信,以交换必要信息。MPP数据库中的事务会在一个或多个互联的计算机系统中更新或选择数据。事务是动作集合的逻辑分组,包括查询,例如,选择数据、更新数据、插入数据以及删除数据等。涉及多个节点的事务系统需要包括当前活动事务的全局信息。这种信息通常称为事务“快照”。这可以通过为所有节点创建全局跟踪快照的集中组件实现。但是,集中组件带来如单点故障(singlepointoffailure,SPOF)和扩展性有限等问题。需要一种处理MPP数据库中快照的改进方法。
技术实现思路
根据一个实施例,一种大规模并行处理(massivelyparallelprocessing,MPP)数据库系统集群中的处理节点间进行事务处理的方法,该方法用于第一节点,该方法包括:在开始事务之前,识别参与所述事务的第二节点;向所述第二节点请求所述第二节点上当前事务的快照。所述方法还包括:从所述第二节点接收所述第二节点上当前事务的快照;将从所述第二节点上接收的事务的快照与所述第一节点上的当前事务合并,以得到协调快照。然后,将所述协调快照从所述第一节点发送至所述第二节点。然后,所述第一节点使用所述协调快照开始所述事务。根据另一个实施例,一种MPP数据库系统集群中的处理节点间进行事务处理的方法,该方法用于第一节点,该方法包括:接收关于所述第一节点上当前事务的快照的请求。所述请求是在开始第二节点上的事务之前并在识别出待参与所述事务的所述第一节点的情况下从所述MPP系统的所述第二节点接收的。所述方法还包括:向所述第二节点发送所述第一节点上当前事务的快照;从所述第二节点接收协调快照,其中,所述协调快照是合并所述第一节点和所述第二节点上当前事务的快照得到的。然后,在所述第二节点上事务的触发下,在所述第一节点上开始子事务。所述第一节点根据所述协调快照进行所述子事务。一旦结束所述子事务,所述第一节点从所述第二节点上为提交命令准备所述子事务,在所述第一节点和所述第二节点间执行两阶段提交(twophasecommit,2PC)协议。根据另一个实施例,一种用于在MPP数据库中进行事务处理的集群节点包括:至少一个处理器,和非瞬时性计算机可读存储介质,用于存储所述至少一个处理器执行的程序。所述程序包括用于执行以下操作的指令:在开始事务之前,识别参与所述事务的第二集群节点;向所述第二集群节点请求所述第二集群节点上当前事务的快照。所述程序还包括用于执行以下操作的指令:从所述第二集群节点接收所述第二集群节点上当前事务的快照;将从所述第二集群节点上接收的当前事务的快照与所述集群节点上当前事务合并,以得到协调快照。所述集群节点还用于将所述协调快照发送至所述第二集群节点,使用所述协调快照开始所述事务。根据又一个实施例,一种参与MPP数据库中的事务处理的集群节点包括:至少一个处理器,和非瞬时性计算机可读存储介质,用于存储所述至少一个处理器执行的程序。所述程序包括执行以下操作的指令:接收关于所述集群节点上当前事务的快照的请求。所述请求是在开始第二集群节点上的事务之前并在识别出待参与所述事务的所述集群节点的情况下从所述第二集群节点接收的。所述程序还包括执行以下操作的指令:向所述第二节点发送所述第一节点上当前事务的快照;从所述第二集群节点接收协调快照,其中,所述协调快照是合并所述集群节点和所述第二集群节点上当前事务的快照得到的。所述集群节点还用于:开始由所述第二集群节点上的事务触发的子事务;根据所述协调快照进行所述子事务。一旦结束所述子事务,所述集群节点从所述第二集群节点上为提交命令准备所述子事务;在所述集群节点和所述第二集群节点间执行两阶段提交(twophasecommit,2PC)协议。上述宽泛地概括了本专利技术实施例的特征,以便能够更好地理解本专利技术以下详细描述。以下将对本专利技术实施例的其他特征与优点即本专利技术权利要求书的主题进行描述。本领域的技术人员应当理解,所公开的概念和特定实施例易被用作修改或设计其他实现与本专利技术相同的目的的结构或过程的基础。本领域的技术人员还应当意识到,这种等效构造不脱离所附权利要求书所阐述的本专利技术的精神和范围。附图说明为了更完整地理解本专利技术及其优点,现在参考下文合并附图进行的描述,其中:图1示出了大规模并行处理(massivelyparallelprocessing,MPP)数据库系统的示例;图2示出了在MPP数据库系统中使用父快照执行事务的方法的实施例;图3示出了在MPP数据库系统中使用父快照进行查询的方法的实施例;图4示出了使用两阶段提交协议执行事务的方法的实施例;图5示出了通过包括在本专利技术实施例内的远端节点上事务的所有子事务生成和维护全局ID的方法的实施例;图6示出了在本地节点上的事务中执行每一个语句或查询的方法的实施例;图7示出了不一致事务状态的示例;图8示出了快照协调的方法的实施例;图9示出了展示可以用于根据实施例实现,例如,此处所描述的设备和方法的计算平台的方框图。除非另有指示,否则不同图中的对应标号和符号通常指代对应部分。绘制各图是为了清楚地说明实施例的相关方面,因此未必是按比例绘制的。具体实施本文档来自技高网
...

【技术保护点】
一种大规模并行处理(massively parallel processing,MPP)数据库系统集群中的处理节点间进行事务处理的方法,所述方法用于第一节点,其特征在于,所述方法包括:在开始事务之前,识别参与所述事务的第二节点;向所述第二节点请求所述第二节点上当前事务的快照;从所述第二节点接收所述第二节点上当前事务的快照;将从所述第二节点上接收的当前事务的快照与所述第一节点上的当前事务合并,以得到协调快照;将所述协调快照发送至所述第二节点;使用所述协调快照开始所述事务。

【技术特征摘要】
【国外来华专利技术】2013.10.31 US 14/068,4661.一种大规模并行处理(massivelyparallelprocessing,MPP)数据库
系统集群中的处理节点间进行事务处理的方法,所述方法用于第一节点,其
特征在于,所述方法包括:
在开始事务之前,识别参与所述事务的第二节点;
向所述第二节点请求所述第二节点上当前事务的快照;
从所述第二节点接收所述第二节点上当前事务的快照;
将从所述第二节点上接收的当前事务的快照与所述第一节点上的当前事
务合并,以得到协调快照;
将所述协调快照发送至所述第二节点;
使用所述协调快照开始所述事务。
2.根据权利要求1所述的方法,其特征在于,还包括:
使用所述第一节点上的所述事务触发所述第二节点上的子事务;
一旦结束所述事务,在所述第一节点和所述第二节点间执行两阶段提交
(twophasecommit,2PC)协议;
合并所述事务和所述子事务的结果。
3.根据权利要求1所述的方法,其特征在于,还包括:分析所述事务
中的一个或多个语句和数据库对象,以识别参与所述事务的所有节点。
4.根据权利要求1所述的方法,其特征在于,还包括:查询一个或多
个内部维护的元数据目录,以识别参与所述事务的所有节点。
5.根据权利要求1所述的方法,其特征在于,还包括:使用所述事务
的一个或多个语句查询的一个或多个谓语,以识别参与所述事务的所有节
点。
6.根据权利要求1所述的方法,其特征在于,所述发送的协调快照包
括主ID的列表以及所述第一节点和所述第二节点上当前事务的元数据,其
中,所述主ID中的每一个都是由对应的本地事务管理节点通过将所述本地

\t事务管理节点分配的本地事务ID附加到节点号上的方式分配的,所述节点
号指示所述本地事务管理节点。
7.根据权利要求1所述的方法,其特征在于,从所述第二节点接收的
快照包括主ID的列表和所述第二节点上当前事务的元数据,其中,所述主
ID中的每一个都是由对应的本地事务管理节点通过将所述本地事务管理节
点分配的本地事务ID附加到节点号上的方式分配的,所述节点号指示所述
本地事务管理节点。
8.根据权利要求1所述的方法,其特征在于,还包括:
识别参与所述事务的第三节点;
向所述第三节点请求所述第三节点上当前事务的快照;
从所述第三节点接收所述第三节点上当前事务的快照;
将从所述第三节点接收的当前事务的快照和从所述第二节点接收的当前
事务的快照以及所述第一节点上的当前事务合并,以得到协调快照;
将所述协调快照发送至所述第二节点和第三节点。
9.根据权利要求8所述的方法,其特征在于,从所述第三节点接收的
快照包括主ID的列表和所述第三节点上当前事务的元数据,其中,所述主
ID中的每一个都是由对应的本地事务管理节点通过将所述本地事务管理节
点分配的本地事务ID附加到节点号上的方式分配的,所述节点号指示所述
本地事务管理节点。
10.一种大规模并行处理(massivelyparallelprocessing,MPP)数据库
系统集群中的处理节点间进行事务处理的方法,所述方法用于第一节点,其
特征在于,所述方法包括:
接收关于所述第一节点上当前事务的快照的请求,其中,所述请求是在
开始第二节点上的事务之前并在识别出待参与所述事务的所述第一节点的情
况下从所述MPP数据库系统的所述第二节点接收的;
向所述第二节点发送所述第一节点上当前事务的快照;
从所述第二节点接收协调快照,其中,所述协调快照是合并所述第一节
点和所述第二节点上当前事务的快照得到的;
开始由所述第二节点上的事务触发的子事务;
根据所述协调快照进行所述子事务;
一旦结束所述第一节点上的所述子事务,从所述第二节点上为提交命令
准备所述子事务;
在所述第一节点和所述第二节点间执行两阶段提交(twophase
commit,2PC)协议。
11.根据权利要求10所述的方法,其特征在于,所述接收的协调快照
包括主ID的列表和所述第一节点和所述第二节点上当前事务的元数据,所
述方法还包括:在开始所述子事务之前,所述第一节点将所述主ID转化为
本地ID。
12.根据...

【专利技术属性】
技术研发人员:甘嘎瓦拉普拉萨德·瓦拉库汝
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1