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

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值