TiDB机制原理

TiDB是基于LSM-tree机制实现的写,在delete操作的时候会信插入一条delete的记录,那么旧的是不是就是相当于没有删除,占用存储空间啊?

短时间内是占用空间的,但是LSMT触发完compaction机制【SST文件】后,空间就会释放出来了

2 个赞

是的,关于这块的原理推荐看看:

2 个赞

意思就是说,旧的数据,是依靠GC的垃圾回收最终回收回来?

GC触发+RocksDB Compaction 最终释放空间

3 个赞

是的,GC和 Compaction 会处理这个问题的

会有垃圾回收的

是的,gc 会回收

不会直接删除的,看gc配置时间,默认10分钟

有gc呀

delete会插入新key ,gc通知rockesdb哪些key可以删了。rockesdb执行compact重组数据,被标记删除key-values就去掉了

1 个赞

这文章很有深度,学习到了

TiDB GC机制会清理不再需要的旧数据

默认gc10分钟后清理

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。