【问题标题】:pycassa timeseries data on multiple keys多个键上的 pycassa 时间序列数据
【发布时间】:2012-08-29 22:04:31
【问题描述】:

我正在尝试为 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, { ... }

现在,我可以有效地为所有用户或单个用户排序推文时间。但是如何获取用户 1、用户 2 和用户 3 等按时间排序的事件?

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

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

【问题讨论】:

    标签: python cassandra time-series pycassa


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-12
      • 2021-04-02
      • 2011-09-30
      • 2015-11-08
      • 1970-01-01
      • 2019-08-10
      • 2016-07-03
      • 2010-12-13
      相关资源
      最近更新 更多