tidb mvcc 读取数据流程的想法

举个不太恰当的例子:A和B两个货架各50件货物,现在想把A货架上的10件货物搬到B货架上去

  • T1时刻:进行初始校验,确认A货架和B货架一共有100件货物
  • T2时刻:A货架上卸下10件货物,确认被物流机器人扛走,这时UPDATE库,给A的货物数减去10
  • T3时刻:物流机器人到达B货架,并上架这10件货物完成,这时UPDATE库,给B的货物数加上10
  • T4时刻:进行最终校验,确认A货架和B货架一共100件货物,整个过程结束

上述业务逻辑有严格的时间先后要求,否则会造成最终校验不通过。那么T4时刻必须要能够看到T2和T3时刻的变更,才能确保这个系统逻辑正确。说白了,就是一致性