1

我正在尝试为 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?

请注意,用户 1 可能有很多新推文,但用户 2 可能有几条新推文。

我考虑过创建一个“新闻源”列族,其中包含用户关注的所有用户的推文的 UUID,但是这种纯粹的数据冗余级别似乎……矫枉过正。这是一个更明智的方法吗?

4

1 回答 1

1

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

FWIW,我看到一篇找不到了的研究论文,分析哪个更好。它得出的结论是,在推文量达到一定阈值的情况下,复制效果更好。(每个用户约 10000 个,IIRC。)

于 2012-09-04T17:22:32.433 回答