我对设计 Cassandra 的数据模型有点困惑,来自 SQL 背景!我已经Datastax
多次阅读文档以了解有关 Cassandra 的许多事情!这似乎是个问题,不知道如何克服这个问题以及我应该选择的数据模型类型!
主键和聚类在这里得到了很好的解释!文档说,主键(分区键,集群键)是数据模型中最重要的东西。
我的用例非常简单:
ITEM_ID CREATED_ON MOVED_FROM MOVED_TO COMMENT
ITEM_ID
将是独一无二的(partition_key)
,每个项目可能有 10-20 个移动记录!I wanted to get the movement records of an item sorted by time it's created on.
所以我决定使用CREATED_ON
集群键。
根据文档,clustering_key 属于二级索引,与分区键不同,它应该是尽可能多的可重复值。我的数据模型在这里完全失败了!How do I preserve order using clustering to achieve the same?
显然,我不能在 Application 中创建一些 ID 生成登录,因为它在许多实例上运行,如果我必须依靠一些逻辑,最终 Cassandra 的目的就是在这里折腾。