|
|
1
30
不同之处在于,一阶段提交通常用于一个系统或数据库,而两阶段提交用于跨多个DB或系统的分布式事务。让我给你举一个简单的例子 一阶段提交
这是用PL/SQL编写的经典原子事务(对于JavaEE世界,想象一下EJB方法也可以是事务性的),只有一个阶段执行所有操作,并进行提交或回滚。 两阶段提交
现在,您正在处理不同机器上的不同系统,但您希望成功写入所有系统,否则会失败(这就是为什么它是分布式事务)。所以这里来了 Two-phase commit protocol 基本上,事务管理器广播“准备提交”消息,然后等待来自每台机器的OK响应。如果每个人都说“没事”,那么一切都会被提交——如果没有,那么所有事务都会被回滚。 注意,如果您想在Java中使用XA事务,则需要一个支持XA的JDBC驱动程序(以及正确配置的XA数据源)。 |
|
|
blogger13 · 视频租赁店数据库的规范化 1 年前 |
|
|
ì¤ì¤í · 为什么LEFT INNER JOIN被弃用? 1 年前 |
|
|
relatively_random · 确保两个表之间一致的共同参考 1 年前 |
|
|
Grenish Rai · Firestore错误“用户文档不存在” 1 年前 |
|
|
Saijo-Shi · PLpgsql中的更新触发器 1 年前 |
|
Dante · Django::配置不当:池不支持持久连接 1 年前 |
|
YouLocalRUser · 删除重复行,保留第一行 1 年前 |