1 个回答
Paimon的多版本并发控制(MVCC)实现主要基于LSM树结构和快照隔离机制实现的。
1、每次数据提交会生成递增的版本号(如snapshot-id=1,2,3),写入时原子性更新全局版本元数据。
2、查询时根据事务启动时刻的snapshot-id确定可见范围(类似MySQL的ReadView机制),保证读取操作不会受未提交版本影响。
3、通过snapshot.expire.limit配置过期版本自动清理阈值
4、增量文件合并时采用版本区间标记(如合并v1-10的文件后生成新的base文件),清理时跳过仍被查询引用的版本
1、每次数据提交会生成递增的版本号(如snapshot-id=1,2,3),写入时原子性更新全局版本元数据。
2、查询时根据事务启动时刻的snapshot-id确定可见范围(类似MySQL的ReadView机制),保证读取操作不会受未提交版本影响。
3、通过snapshot.expire.limit配置过期版本自动清理阈值
4、增量文件合并时采用版本区间标记(如合并v1-10的文件后生成新的base文件),清理时跳过仍被查询引用的版本
发布于:1周前 (05-26) IP属地:
我来回答
您需要 登录 后回答此问题!