Hybrid Garbage Collection for Multi-Version Concurrency Control in SAP HANA 论文阅读笔记

探讨SAP HANA中针对多版本并发控制的混合垃圾回收策略,关注长期读取事务对版本回收的影响,以及Group、Interval和Table GC的具体实现。

Hybrid Garbage Collection for Multi-Version Concurrency Control in SAP HANA 论文阅读笔记

GC 的基本方法是把所有 commit-ts < 最小的 txn 的 version 回收(除了最后的)。但是 OLAP 会有 long-lived read txn,ts 比较小,在这个 read duration 中的 version 都不会被回收(但部分其实可以)

SAP HANA

  • version storage
    • table space 存 original (oldest),在 GC 时可能被更新
    • version space 是 newest to oldest

在这里插入图片描述

Garbage Collector

Timestamp

与 global minimum txn-ts 比较

Interval Garbage Collector

如果没有 txn-ts 落在2个连续 version 之间,那么较早的 version 可以被清除。

Single / Group Garbage Collector

GC in SAP HANA

  • group version + timestamp
  • single version + interval
  • table garbage collectors

Group Garbage Collector

在这里插入图片描述

维护一个全局 txn-ts list,node 使用 ref count

在这里插入图片描述

GC 的单位是 txn group

Interval Garbage Collector

从 GroupCommitContext 里面 > min-ts 的开始,遍历 version chain,检查 interval

Table GC

在这里插入图片描述

如果可以预先知道哪些 table 会被访问,那么就可以做出优化。那些最近不会被访问的 table 就可以做 GC

HybridGC

在这里插入图片描述

  • 先粗粒度 group version GC,然后 table GC 或者 interval GC
  • table GC 检查 GroupCommitContext 的子集,回收 < global-min-ts
  • interval GC 检查所有 version chain

Reference

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值