事务模式是分布式事务框架下BTM驱动分支事务的行为模式。当前DTMS事务模式下BTM的驱动行为包括两个阶段:
- 执行阶段:
- 解析 SQL语义,生成更新前后的镜像数据,形成 UNDO LOG。
- 向DTMS-SERVER注册分支。
- 分支注册成功后,把业务数据的更新和 UNDO LOG 放在同一个本地事务中提交。
以上操作全部在一个数据库事务内完成,保证操作的原子性。
- 完成阶段:
- 全局提交,收到DTMS-SERVER的分支提交请求,完成第一阶段的数据清理。
- 全局回滚,收到DTMS-SERVER的分支回滚请求,查询分支对应的 UNDO LOG 记录,校验脏写并还原业务数据。