2010-09-06 88 views
0

我正在尝试对Twitter-Live Search进行反向工程。也许我们可以在这里讨论它。我说的是在那里推文显示,即使最晚“1秒前”等试图了解以下可能发生的特点 -Twitter Live搜索

  1. 必须有当用户鸣叫&当之间的一些层索引(更新)发生。这层MySQL或其他缓存层(memcached,cassandra)?也许...
  2. 索引 -索引更新如何发生?他们不可能从头建立一个新的索引?
  3. 索引 -这里必须有分布式索引。如何更新所有索引而不必从一个索引&提供最新的数据?
  4. 索引编制 -或者这样的事情发生了吗?老实说,我不这么认为:)哪位用户会注意到...

任何人都有什么有趣的增加/讨论。我只是想明白...

回答

0

确实很有意思,但我想这是更多的“架构”问题,而不是一个真正的编程问题。

但FYI有一个在高可扩展性的大量信息:posts tagged with twitter

难道他们把所有的鸣叫?我的猜测是,他们只是在一段时间后抛弃它们,当然他们不需要ACID属性? ..

我不相信那些时间戳,如果我在哪里你:)

+0

准确地说! Twitter的时间戳显示(就此而言)可能不完全准确。但他们至少必须以使每个人都能同时看到的方式进行同步。也许有索引转换(即从旧索引到新索引)?或者使用一些大型索引+小型索引组合? – 2010-09-06 11:03:36

+0

不知道他们做什么索引明智,但我怀疑这是一个大的主索引。为什么每个人都必须一直看到同样的东西?它可能都是“最终一致的” - 事实上,你看到的东西并不意味着其他人会这样做。如果你发布了一些你可能会马上看到的东西,但我可能不会在短时间内看到它。 – 2010-09-06 12:17:12