更新时间:2024-05-20 GMT+08:00

Ustore事务模型

GaussDB Kernel事务基础:

  1. 事务启动时不会自动分配XID,该事务中的第一条DML/DDL语句运行时才会真正为该事务分配XID。
  2. 事务结束时,会产生代表事务提交状态的CLOG(Commit Log),CLOG共有四种状态:事务运行中、事务提交、事务同步回滚、子事务提交。每个事务的 CLOG状态位为2 bits,CLOG页面上每个字节可以表示四个事务的提交状态。
  3. 事务结束时,还会产生代表事务提交顺序的CSN(Commit sequence number),CSN为实例级变量,每个XID都有自己对应的唯一CSN。CSN可以标记事务的以下状态:事务运行中、事务提交、事务同步回滚、事务正在提交、本事务为子事务、事务已冻结。