腾讯云TDSQL MySQL版 - 开发指南 分布式事务

由于事务操作的数据通常跨多个物理节点,在分布式数据库中,类似方案即称为分布式事务。 TDSQL MySQL版 支持普通分布式事务协议和 XA 分布式事务协议。TDSQL MySQL版(内核5.7或以上版本)默认支持分布式事务,且对客户端透明,像使用单机事务一样方便。 TDSQL MySQL版 分布式事务采用两阶段提交算法(2PC)保证事务的原子性(Atomicity)和一致性(Consistency),隔离级别配置为 Read committed、Repeatable read 或 Serializable。

普通分布式事务 begin; # 开启事务 ... # 跨 set 的增删改查等非 DDL 操作 commit; # 提交事务 XA 分布式事务 XA 分布式事务是指跨实例的事务:

xa begin ''; # 开启 XA 事务,事务标识由系统内部生成,因此传入空字符串 ... # 跨 set 的增删改查等非 DDL 操作 select gtid(); # 获取当前 XA 事务的标识,下面假定为'xid' xa prepare 'xid'; # 准备事务 xa commit/rollback 'xid'; # 提交或回滚事务 新增事务接口 select gtid() :获取当前分布式事务的全局唯一标识。如果为空,则该事务不是分布式事务。

普通分布式事务标识的格式为:‘网关id’-‘proxy随机值’-‘序列号’-‘时间戳’-‘分区号’,例如 c46535fe-b6-dd-595db6b8-25。 XA 分布式事务标识的格式为:‘ex’-‘网关id’-‘proxy随机值’-‘序列号’-‘时间戳’-‘分区号’,例如 ex-c46535fe-b6-dd-595db6b8-25。 select gtid_state(“当前分布式事务的全

你可能感兴趣的:(腾讯云TDSQL MySQL版 - 开发指南 分布式事务)