数据库事务的分类

集中式事务

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

1.扁平式事务

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

2.链式事务

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

3.嵌套事务

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

4.自治事务

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

分布式事务

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

你可能感兴趣的:(数据库,数据库,事务,ACID,mysql,事务类型,sql,分布式)