Distributed Transaction Processing:mysql

Distributed Transaction Processing: The XA Specification

http://www.opengroup.org/bookstore/catalog/c193.htm

 

mysql XA Transactions

http://dev.mysql.com/doc/refman/5.5/en/xa.html

 

oracle 10g

http://cs.felk.cvut.cz/10gr2/appdev.102/b14251/adfns_xa.htm

 

mysql xa 例子

 

X/Open XA distributed transactions

 

SHOW ENGINES/G
查看是否支持innodb

 

use test;

 

CREATE TABLE aa(a INT, b CHAR (20), INDEX (a)) ENGINE=InnoDB;

 

xa begin 'abc','def',7;

 

insert into aa values(1, 'a');

 

xa end 'abc','def',7;

 

xa prepare 'abc','def',7;

 

xa commit 'abc','def',7;

 

xa rollback 'abc','def',7;

 

xa recover;

 

 prepare 之后 recover 才能看到结果

 

xid在内部的定义

 

 

 

在 commit 或 rollback 时,根据xid找到相应的事务,进行相应的操作

不充许DTP的嵌套,一个连接只能执行完一个DTP事务后,才充许执行下一下

 

除了加了一个全局标记XID之处,从任何方面看,都只是本地局部事务加了一层壳,

 

现在的MYSQL,

在DTP中,mysql需要应用程序充当AP和TM角色,没看到数据库服务器提供了TM功能

在DTP中,只看到了TM对RM的调用,没看到RM主动调用TM,相当于实现了XA接口的一半;

对于autocommit的实现也没看到,估计就是前后包装一层已实现的XA接口。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值