TiKV如何快速删除一段空间的数据并复用这段空间?

【 TiDB 使用环境`】测试环境
【 TiDB 版本】未使用TIDB
【问题】
没有使用TIDB,只使用了TiKV和PD组件。我们想用TiKV用作持久化的KV存储,key通过前缀区分业务模块。当某个业务不再使用了,如何快速清理掉这个keyspace的数据呢?
有注意到CmdUnsafeDestroyRangeRequest这个接口,但是看到相关说明说这个绕过raft从底层删除数据,可能会导致各种问题,需要保证删除的keyspace不再被使用,但是我们的场景是可能删除后还想使用这段keyspace 有什么办法么?

另外一个想法就是DeleteRange+Compact, 但是这个只是写标记,真正到磁盘回收需要一定次数的compaction才能起作用

可以定时的或者积累到一定删除量的时候触发一次 compaction。由于存储结构的设计特殊和为了性能,目前不会在删除的同时实际的删除真实数据。

执行 tikvpb 的 RawDeleteRange, 然后试试跑 debugpb 的 Compactbottommost level

好的 感谢回复

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