分布式事务基础
事务的基本概念
ACID
- 原子性
- 一致性
- 隔离性
- 持久性
事务的类型
-
扁平事务
事务操作中最常见、最简单的事务,无法单独提交整个事务中的部分事务,只能把整个事务全部提交或者回滚; -
带有保存点的扁平事务
内部带有保存点的事务,可以将当前事务回滚到此位置; -
链式事务
链式事务是在带有保存点的扁平事务的基础上,自动将当前事务的上下文隐式的传递给下一事务,也就是说一个事务的提交操作和下一个事务的开始操作合并在一起是具备原子性的; -
嵌套事务
嵌套事务指的是有多个事务处于嵌套状态,共同完成一项任务的处理,整个任务具备原子性;嵌套事务最外层有一个顶层事务,只有当顶层事务完成后才会整体提交; -
分布式事务基础
分布式事务指的是事务的参与者、事务所在的服务器、涉及的资源服务器以及事务管理器分别位于不同的分布式系统下的一个整体事务;
本地事务
本地事务通常是由关系型数据库本身的事务特性来进行实现的,优缺点:
优点:
- 严格支持ACID特性
- 事务可靠,关系型数据的事务是经过严格论证的
- 本地事务执行效率高
- 事务是由DBMS完成
- 不涉及网络通信
缺点:
- 不具备分布式事务的处理能力
- 一次事务处理过程只能连接一个支持事务的数据库,即不能用于多个事务性数据库;
MySql事务基础
- 并发带来的问题
- 更新丢失
- 脏读