【TiDB 4.0 PCTA 学习笔记】- 2.3.5 如何在 TiDB 中使用事务@1班 - 江坤

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

学习时长:

30 min

课程收获:

学习TiDB中的事务特性,了解分布式事务实现原理

课程内容:

Transaction

  • 一系列可以合并在一起,当做一个原子操作的操作集合
  • 让数据更安全
  • 让并发操作更安全
  • 数据状态处于一致性

TiDB Transaction

  • Pecolator
  • 分布式事务 - 两段式提交(2PC)
  • SS2PL+ MVCC
  • 早期默认乐观事务
    • SI 隔离级别
    • 修改会缓存在内存中
    • 事务冲突
  • 引入悲观事务
    • 支持当前读
    • 减小事务冲突
    • Read-commit isolation

How to use transactions in TiDB

  • 语法与MySQL相同
  • autocommit 参数控制是否自动提交事务
  • begin 会隐式提交上一个还未提交的事务并开始一个新事务
  • DDL 操作也会隐式提交上一个还未提交的事务并开始一个新事务
  • set global tidb_txn_mode = “pessimistic” 开启全局悲观事务
  • begin pessimistic 开始单个悲观事务
  • set tx_isolation = “read-committed” 开启read-committed隔离级别
  • TiDB 只支持行锁
  • TiDB 不支持 Gap lock
  • TiDB 不支持对没有读到的数据加锁

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