KafkaStreams KTable压缩

时间:2019-05-23 06:25:32

标签: apache-kafka apache-kafka-streams rocksdb

在我的应用程序中,几乎所有传入记录的值都在几秒钟内被消除(逻辑删除),但是由于RocksDB的大小没有减小并且它仍然具有数百万个条目,因此我看不到压缩

  • 当我使用keyValue迭代器遍历stateStore时,我看到99%的值为空(墓碑)
  • 每个stateStore中大约有5亿个条目,因此迭代需要将近一个小时的时间
  • 我看到即使在几天后(直到2天),这些记录也不会消失。测试期间没有发送新的输入记录,因此只是旧记录而已
  • 我希望主动清除空记录,以确保stateStore具有大部分活动记录

我已使用 RocksDBConfigSetter 并将 compactionStyle 设置为 level

options.setCompactionStyle(CompactionStyle.LEVEL);

请告诉我是否还有其他方法可以触发频繁压实

预期结果: 空记录应至少在几个小时内迅速清除

0 个答案:

没有答案