Cassandra:Unknown/dynamic 过滤 table,就像 "feed" 来自无限数量的人的推文

Cassandra: Unknown/dynamic filters on a table, like a "feed" of tweets from an unbounded number of people

我 get/understand 创建 table 以满足特定查询的概念。

但是,动态查询呢?

假设我创建了一个 "tweet" table。我关注两个用户,Paul 和 Jim。当然,没有 "tweets_by_paul_and_jim" table。那我该怎么办?

我是否查询每个用户查询的结果,并在请求时将它们组合到每个请求的排序列表中?这真的行不通,因为一个用户可以关注 30,000+(无限制)人数。

twitter 是如何解决这个问题的?

如果您发布一条消息,它最终会出现在您的每个关注者时间轴中。 Twitter 将使用扇出方法将消息简单地写入每个时间线。您可以在 this article 中阅读更多关于几年前它是如何工作的。