【问题标题】:Is it preferable to have high activity fields in Cassandra exist in their own table?是否最好将 Cassandra 中的高活动字段存在于自己的表中?
【发布时间】:2021-09-04 16:27:41
【问题描述】:

假设我正在实施一个由 Cassandra 支持的论坛系统(让我们考虑类似 Reddit 甚至 SO)。

帖子有多个字段,例如内容、时间戳等,外加一个rating(赞成票和反对票)。帖子由 POSTS 表支持。让我们假设我不关心哪些特定用户投了赞成票或反对票,我只关心帖子的总评分。

我想知道将评分存储在 RATINGS (post_id, rating) 表中而不是仅仅将其作为 POSTS 中的一个字段是否有任何优势,因为将会有很多 upvotes / downvotes 发生所有时间。

鉴于 Cassandra 的架构,选择一种方法而不是另一种方法的细节是什么?

【问题讨论】:

    标签: cassandra nosql


    【解决方案1】:

    将评级放在另一个表中没有意义,因为看起来您将为两个表(POSTS 和 RATINGS)使用相同的分区键。您始终可以从 POSTS 表中获得评分。我认为创建 RATINGS 表没有任何好处。

    【讨论】:

      猜你喜欢
      • 2013-01-05
      • 2016-04-19
      • 2011-05-27
      • 1970-01-01
      • 2019-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多