【TiDB 4.0 PCTA 学习笔记】- 2.3.5 How to Use Transactions in TiDB(如何在 TiDB 中使用事务)@1班+Kun

课程名称:(201)2.3.5 How to Use Transactions in TiDB(如何在 TiDB 中使用事务)

学习时长:20min

课程收获:通过本节课程学习,应当对事务的基本概念和作用有较为清晰的认识;了解 TiDB 分布式事执行的两阶段提交的执行过程,TiDB 和 TiKV 等组件的交互方式;掌握 TiDB 两种事务模式(乐观事务和悲观事务)的使用方法;理解两者的不同并可以根据具体的业务场景评估和选择 TiDB 的事务模式、隔离级别等。

课程内容: 事务;并发控制;两阶段提交;乐观事务;悲观事务;隔离级别

分布式事务模型:启发于 Google percolator 论文;采用 SS2PL + MVCC 的并发控制策略;两阶段提交

乐观事务模式:采用 Snapshot Isolation 级别(SI);采用事务调度器 scheduler;数据修改缓存在 TiDB 内存中;提交时进行冲突检测(写-写冲突)

悲观事务模式:支持当前读;DML 操作提前加锁;减少写-写冲突;支持 Read-committed 事务隔离级别(RC)

乐观事务:

开启事务:begin,start transaction

提交事务:commti,rollback

配置参数 autocommit = 1 开启事务自动提交

begin 语句会进行隐式提交,并启动一个新事务

DDL 语句会隐式提交事务

学习过程中参考的其他资料