如何在cassandra中使用除主键之外的唯一键?

时间:2016-04-24 04:48:37

标签: cassandra data-modeling unique-key

我的英语不好!
Cassandra 3.5中有一张表,其中所有列都不会同时出现。表的唯一性是一些行中唯一的列,但其中一些列最初为空。由于null值,我无法将它们设置为主键。我在Cassandra中确定了一个名称为id且类型为uuid的列。

如何在Cassandra中将这些列组合在一起?
我的数据模型是真的吗?
我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

你不能。它不是关系数据库。使用群集和/或分区键添加唯一约束。

请参阅this answer

要存储唯一值,请创建一个单独的表,将您的唯一值作为键。在插入行之前通过请求此表来检查它是否存在。但要注意,即使这样做,如果你有两个并发插入,你也无法确保它在你的最终表中是唯一的。

基本上,我建议使用Cassandra,因为它确实是:数据存储。并找到一种方法来实现它所属的业务逻辑:在您的代码中。