【发布时间】:2015-03-17 17:10:26
【问题描述】:
我对为 Cassandra 设计数据模型有点困惑,来自 SQL 背景!我已经通过Datastax 文档多次了解Cassandra 的许多事情!这似乎是个问题,不知道如何克服这个问题以及我应该选择的数据模型类型!
Primary Key along with Clustering 在这里得到了很好的解释! 文档说,Primary Key(Partition key,Clustering keys)是数据模型中最重要的东西。
我的用例非常简单:
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?
显然我无法在应用程序中创建一些 ID 生成登录,因为它在许多实例上运行,如果我必须中继一些逻辑,最终 Cassandra 的目的就在这里折腾。
【问题讨论】:
标签: cassandra primary-key data-modeling clustering-key