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 天后被自动关闭。不再允许新回复。