2012-12-16 93 views
1

我想在宽行中存储非常简单的评论,但问题是我想要最重要的评论。Cassandra评论数据模型

所以刚开始我曾尝试使用UTF8比较类型和每列名会开始由喜量和之后将时间戳,例如:

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

这种方法的问题是,例如2_timestamp>19_timestamp因为字典顺序2是大于19

我大概可以存储上面注释在单独的CF但我需要做两个查询,而不是一个,所以我真的想避免这种情况,任何苏ggestions?

回答

1

2查询而不是一个通常不是什么大问题。你也可以做一个复合值(喜欢的数量+评论),并自己排序评论....从我看到的东西从来没有多少评论,除了几个帖子,所以这将是非常快。

还有其他的模式,可能会引发此想法,以及...

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

+0

在现实中我已经有2至4完成加载一些其他的东西,其他查询某些情况下,所以我会喜欢避免任何我不需要的东西。我一定会看看复合值,谢谢。 – Linas

1

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