You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RocksDB中Key删除的底层原理及Bloom Filter处理疑问

RocksDB中删除Key时的Bloom Filter处理逻辑
  • SST文件一旦生成就是不可变的,里面的Bloom Filter不会因为单个Key删除就修改或重建。删除操作不会碰已有的SST文件,而是写一条墓碑记录,这条记录会先存在MemTable里,后续刷盘时进入新的SST文件。
  • 旧SST的Bloom Filter可能还会显示该Key“存在”,但这只会导致查询时多一次磁盘读:当查到旧SST里的Key时,会发现对应的墓碑记录,最终返回Key已删除的结果,不会出现逻辑错误。
  • 只有在**Compaction(压缩)**阶段才会生成新的Bloom Filter:压缩过程会把多个SST文件(包含带墓碑的)合并,过滤掉已被删除的无效Key,然后为新生成的SST创建准确的Bloom Filter。旧的SST文件会被标记为废弃,之后被后台线程清理。

内容的提问来源于stack exchange,提问作者JoeHills

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 22:05:28