操纵Cassandra写时间值

时间:2014-08-27 16:58:28

标签: cassandra ttl nosql

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

我没有立即将数据插入数据库,但我想使用Cassandra的生存时间功能。

有没有办法操纵Cassandra中一行的系统实习时间戳,这样我可以将生存时间设置为60天,但它实际上用我的时间戳来衡量每一行的生命周期?

E.g。我在2014年8月27日 - 19:00测量了一些东西。我将这些数据在27.08.2014 - 20:00插入数据库,并将生存时间值设置为1天。我现在想要在28.08.2014删除该行 - 19:00 而不是28.08.2014 - 20:00 ,就像通常那样。

这样的事情可能吗?

1 个答案:

答案 0 :(得分:0)

我建议你根据你的例子提出以下方法:

    插入前
  1. 计算Δx= insertTime - measureTime
  2. 设置TTL = 1天 - 插入行的Δx
  3. 根据评论添加:

    您可以使用Astyanax - 客户端Batch mutation“同时输入多个值”。可以一次在每一列和整行上设置TTL。