1 .一种用于处理数据库事务的系统,其特征在于,包括:
协调节点(CN),接收对事务的查询,
其中,所述CN用于判断所述事务是单分片事务还是多分片事务;
当所述CN确定所述事务为多分片事务时,
所述CN用于:向全局事务管理器(GTM)请求所述事务查询的分布式事务ID(DXID),
接收所述事务的所述DXID,
将所述查询和所述DXID发送给与所述事务关联的至少两个数据节点;
当所述CN确定所述事务为单分片事务时,
所述CN用于将所述查询发送给与所述事务关联的单个数据节点,不需要先向所述GTM
请求DXID。
2.根据权利要求1所述的系统,其特征在于,当所述CN确定所述事务为多分片事务时,
所述CN用于向所述GTM请求全局快照,并且将所述全局快照发送给与所述事务关联的所述
至少两个数据节点。
3 .根据权利要求1所述的系统,其特征在于,所述事务涉及联机事务处理(OLTP)数据
库。
4 .根据权利要求1所述的系统,其特征在于,所述CN维护全局模式。
5 .根据权利要求2所述的系统,其特征在于,接收所述全局快照的所述至少两个数据节
点将所述全局快照与本地快照合并。
6 .根据权利要求1所述的系统,其特征在于,所述数据节点维护本地活动事务列表;对
于多分片事务,与所述事务关联的每个数据节点将所述DXID映射到本地事务ID(TXID)。
7 .根据权利要求6所述的系统,其特征在于,所述至少两个数据节点读取由多分片事务
修改的数据,并且在以下情况下确定所述数据是可见的:
所述多分片事务已提交,并且所述多分片事务不在所述全局快照而在所述本地快照
中;或者
所述多分片事务已提交,所述DXID既不在所述全局快照也不在所述本地快照中,并且
所述全局快照的最小DXID大于所述多分片事务的所述DXID;或者
所述多分片事务处于准备(prepare)状态,然后提交,并且所述多分片事务不在所述全
局快照而在所述本地快照中。
8.根据权利要求1所述的系统,其特征在于,如果所述事务为单分片事务,则在所述数
据节点执行所述事务之后,所述CN提交所述事务,并且所述单个数据节点提交所述事务,不
需要与所述GTM交互。
9.一种用于处理数据库事务的计算机实现的方法,其特征在于,所述方法包括以下步
骤:
包含用于执行指令的一个或多个处理器的协调节点接收对事务的查询;
判断所述事务是单分片事务还是多分片事务;
当确定所述事务为多分片事务时,
向包含用于执行指令的一个或多个处理器的全局事务管理器(GTM)请求所述事务的分
布式事务ID(DXID),
所述协调节点从所述GTM接收所述事务的所述DXID,
权 利 要 求 书
1/3 页
2
评论