【问题标题】:Cassandra batch operations unique idCassandra 批处理操作唯一 ID
【发布时间】:2014-07-02 20:20:33
【问题描述】:

我们知道时间 uuid 会生成一个与时间相关的唯一 ID,但是当我想在不同的表中添加相同的唯一 ID 时会发生什么。假设我想复制与上传到不同表格的图像相关的信息,所以当上传图像时,我编写了一个批处理语句,并且在每个表格中我想给图像一个unique id,所以我使用time uuid...所以是所有表都获得相同的 id 还是不同。

我知道 Cassandra 是无模式的,我不需要唯一 id,但我想使用 memcachedelasticsearch 更快地检索和搜索,如果我想编辑图像信息会发生什么我将不得不在用户 ID 和其他信息的帮助下搜索它,然后我才能更改该值。这在我看来是时间效率低下的。

还有其他方法吗?

【问题讨论】:

    标签: cassandra cql cql3 datastax-enterprise


    【解决方案1】:

    每次生成一个基于时间的 uuid timeuuid,即使同时生成两个,它也是唯一的。这是因为在timeuuid内部,它既包含时间,又包含一个非常大的随机数。

    如果您想对多个表/记录使用相同的timeuuid,请先在您的代码中生成timeuuid,然后使用您的预置将timeuuid 传递到两个表上的cql update 语句中生成timeuuid

    【讨论】:

      猜你喜欢
      • 2018-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-19
      • 1970-01-01
      • 2011-06-04
      • 2012-01-29
      • 1970-01-01
      相关资源
      最近更新 更多