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数据库中的事务会在一个或多个互联的计算机系统中更新或选择数据。事务是动作集合的逻辑分组,包括查询,例如,选择数据、更新数据、插入数据以及删除数据等。涉及 ...
【技术保护点】
一种大规模并行处理(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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。