pycassa timeseries多个键上的数据

时间:2012-08-29 22:04:31

标签: python cassandra time-series pycassa

我正在尝试为Twitter克隆制作新闻源 - 显示最新推文给用户,而不是来自所有用户的最新推文或来自单个用户的最新推文。

我将UUID密钥存储在各个密钥中,例如:

user1, {UUID01: '', UUID02: '', UUID03: '', UUID04: ''}
user2, {UUID05: '', UUID06: '', UUID07: '', UUID08: ''}
user3, {UUID09: '', UUID10: '', UUID11: '', UUID12: ''}
user4, {UUID13: '', UUID14: '', UUID15: '', UUID16: ''}

结束每个UUID与另一个列系列中的推文相关:

UUID01, { ... }
UUID02, { ... }
UUID03, { ... }

现在,我可以有效地为所有用户或单个用户订购推文时间。但是,我如何获得时间有序的事件,例如user1,user2和user3?

请注意,user1可能有很多新推文,但用户2可能只有很少的新推文。

我曾考虑制作一个'newsfeed'专栏系列,其中包含用户所关注的所有用户的推文的UUID,但这种纯粹的数据冗余水平似乎......太过分了。这是一种更明智的做法吗?

1 个答案:

答案 0 :(得分:1)

在客户端上排序(合并),或复制到单独的新闻源,基本上是你的两个选择。选择你的毒药。

FWIW,我看到了一篇我再也找不到的研究论文,分析哪一篇更好。它得出的结论是,重复更高达到推特音量的某个阈值。 (每个用户约10000个,IIRC。)