Cassandra评论数据模型

时间:2012-12-16 13:11:35

标签: cassandra

我试图在很多行中存储非常简单的注释,但问题是我想要有最高评论。

所以一开始我尝试使用UTF8比较器类型,每个列名称都以like amount开头,然后是timestamp,例如:

Comments_CF = {
    parent:{
        8_timestamp: comment,
        5_timestamp: comment,
        1_timestamp: comment,
        ...
    }
    ...
}

这种方法的问题在于例如2_timestamp> 19_timestamp因为词典2大于19

我可能会在一个单独的CF中存储热门评论,但之后我需要做两个查询而不是一个,所以我真的想避免这个,任何建议?

2 个答案:

答案 0 :(得分:1)

使用复合,其中第一个组件是long,第二个组件是适合您的时间戳格式的任何类型。这样排序就是正确的。

答案 1 :(得分:1)

2个查询而不是1个查询通常不是什么大问题。你也可以只做一个复合值(喜欢的数量和评论)并自己对评论进行排序....从我看到的东西中除了一些帖子之外从来没有很多评论,所以这会非常快。

还有其他模式也可能在这里激发想法......

https://github.com/deanhiller/playorm/wiki/Patterns-Page