数据库事务的分类

集中式事务包括扁平、链式和嵌套事务,其中扁平事务是最基础的形式,链式事务传递上下文,嵌套事务以树形结构组织。自治事务在嵌套基础上独立于顶层事务,常用于日志记录。而分布式事务涉及多节点,所有节点成功执行才能成功。Oracle原生支持自治事务,而MySQL则不支持。
摘要由CSDN通过智能技术生成

集中式事务

单个节点参与的事务,单节点操作执行成功集中式事务即成功,单节点操作执行失败则集中式事务回滚

1.扁平式事务

  • 一般扁平事务:由begin或start transaction开始,由commit或rollback结束的简单事务,完整commit或完整rollback
  • 带保存点的扁平事务:在一般扁平事务基础上可以设置保存点,允许该事务回滚到保存点,相当于部分“回滚,一般扁平事务相当于保存点在事务开头的一般扁平事务

2.链式事务

在带保存点的扁平事务的基础上,将多个带保存点的扁平事务连接,前一个事务的提交和后一个事务的开始为原子操作,这样前一个事务的上下文就可以被后一个事务获取,链式事务本质是传递上下文的多个事务

3.嵌套事务

树状事务组织形式,根节点为顶层事务,每一棵子树都可以是嵌套事务,叶子节点为扁平事务,嵌套事务由顶层事务统一控制提交,但如果任意子事务回滚会导致整个嵌套事务回滚

4.自治事务

自治事务在嵌套事务的基础上,让子树管理其下事务而不受顶层事务节制,自治事务提交后即使顶层事务回滚也不会造成自治事务回滚。自治事务常用于在外层事务记录日志,无论外层成功提交还是失败回滚,自治事务都可以记录日志。MySQL原生不支持自治事务,Oracle原生支持。

分布式事务

由多个节点参与的事务,各个节点操作都成功执行则分布式事务成功,任意节点操作失败则分布式事务全部回滚

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值