mysql事务隔离级别
脏读
事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据
不可重复读
事务 A 多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果 不一致。
幻读
系统管理员A将数据库中所有学生的成绩从具体分数改为ABCDE等级,但是系统管理员B就在这个时候插入了一条具体分数的记录,当系统管理员A改结束后发现还有一条记录没有改过来,就好像发生了幻觉一样,这就叫幻读。
事务隔离级别脏读不可重复读幻读
读未提交(read-uncommitted)是是是不可重复读(read-committed)否是是可重复读(repeatable-read)否否是串行化(serializable)否否否
分布式事务作用
保证不同节点的数据一致性
XA分布式事务协议
2pc(两阶段递交)
通俗理解
类似于 吃鸡游戏四排时组队,必须所有队员全部准备才能开
两阶段递交过程
第一阶段(准备阶段)
事务中有两个角色,一个是协调者,一个是参与者协调者会向参与者发送 事务准备请求
各个参与者会准备事务提交的相关数据,返回是否准备好了。进入第二阶段
个人理解
试探性的提交
第二阶段(提交阶段)
如果都准备好了,则进行递交操作,如果失败了,则执行回滚协调者会向参与者发送提交请求参与者会提交本地事务,并返回完成当事务协调者收到所有的参与者提交完成,则完成分布式事务完成