图解
术语基础含义:
- SCL: segment commit LSN,当前这个segment 所知道的最大的LSN, 在这个SCL 之前的所有记录当前这个节点已经收到, 到SCL 位置的数据都是连续的。
- PGCL: Protection Group Complete LSN,当4/6个节点(详见aurora的qurarum的设计)SCL推进,计算层将这个PG的PGCL推进。
- VCL: volume complete LSN,存储层认为已经提交的LSN(可能包含一个事务中未提交的部分)。 存储层保证小于等于这个VCL 的数据都已经确认提交了, 下次recovery 的时候, 这些数据是保证有的。在storage node recovery 阶段, 比VCL 大于的数据就必须要删除。
PGCL与VCL关系原文:advance a PCL once there are no pending writes prevening PCL from advancing for one of its PGs,我的理解:一旦没有挂起的写操作组织某个PG的PGCL推进。
后续再做其他的补充