正在操作Cassandra写入时间值



假设我有一个应用程序,它定期接收一些测量数据。我知道测量数据的确切时间,我希望在测量后30天内删除每一条数据。

我不会立即将数据插入数据库,但我想利用Cassandra的生存时间功能。

有没有一种方法可以操作Cassandra中一行的系统实习生时间戳,这样我就可以将生存时间设置为60天,但它实际上用我的时间戳来测量每行的寿命?

例如,我在2014年8月27日-19:00测量了一些东西。我在2014年8月27日-20:00将这些数据插入数据库,并将生存时间值设置为1天。我现在希望在2014年8月28日-19:00删除该行,而不是像往常一样在2014年08月28日至20:00

这样的事情可能发生吗?

我建议您根据您的示例采用以下方法:

  1. 插入前计算Δx=insertTime-measureTime
  2. 设置TTL=1天-Δx用于插入行

根据注释添加:

您可以使用带有批量突变的Astyanax客户端"一次同时输入多个值"。可以同时在每列和整行上设置TTL。

最新更新