TiDB使用基于Percolator的事务模型,将一行数据抽象为default、write 和 lock 3 个 CF(column family)存储,其中:
- default CF存储的真正数据
${key}_${start_ts} --> ${value}
- write CF存储数据的版本信息,commit_ts代表一行记录的真正版本
${key}_${commit_ts}-->${start_ts}
- lock CF存放锁信息,提交中的事务会加lock,包含primary lock的位置
${key}-->${start_ts,primary_key,..etc}