我们使用 Cassandra 来存储日志。我们的数据访问模式看起来像一个队列——有一个将日志写入 Cassandra 的进程,还有一个读取和分析它们的进程。如果一切顺利,日志会延迟 15 分钟从 Cassandra 中读取出来,然后可以删除 - 因此,可以使用 TTL 功能有效地清理 Cassandra 中过时的日志。
但是,如果读取过程失败或其他原因,则需要暂停自动清理以防止数据丢失。有没有办法全局和动态地打开/关闭 TTL 或以某种方式自定义 TTL 过程(挂钩到压缩,设置自定义清理条件而不是时间戳等)?