我正在研究POC以展示卡桑德拉如何工作。我以Digg为例。我想创建一个数据模型,让我:卡桑德拉数据模型
1)添加链接 2)添加一个链接到用户收藏夹列表。 3)添加预定标记,以链接
我想出了具有两个列族:
链接
- url是关键
- ID(生成UUID)
- 用户(谁加了它)
- favCount(我们没有ERS谁收藏的链接)
- UPCOUNT(没有谁喜欢它的用户)
- 向下计数(没有谁不喜欢它的用户)
- url是关键
UserFavs的
- 用户是键
- id(与用户收藏的许多ID一样)
- 用户是键
这工作正常需求#1和上述第2条,但是当我来到#3它变得棘手。我可以在链接列系列中添加标记,如'java','语言','架构'作为具有空值的列名称。但是查询需要很长时间,比如说,如果我要找出所有在'java'下标记的链接。
任何人都可以抛出一些关于如何实现的想法。
如果我不清楚这个问题,请让我知道。
感谢,库马尔
由于DNA。有没有办法做到这一点,而不需要另一个列家族?不得不插入到两个不同列家族的链接的缺点是,由于cassandra在多列家族级别没有交易(我记得那样,但我可能是错的),可能会发生链接插入链接列家族中,但不插入标签标签列族中。还是我让你完全错了?如果是这样,请具体说明您的建议。谢谢 – KumarM
你对交易是正确的 - 这是Cassandra设计的限制。可以使用重试或撤消来应付这种情况(实际上这种情况非常罕见,特别是如果两个插入都是在同一个消息中发送的话)。 – DNA