2010-09-06 12 views
0

Je tentais de désosser Twitter-Live Search. Nous pourrions peut-être en discuter ici. Je parle de la fonction où Tweets sont affichés même dernière à « 1 s il y a » etc. Essayer de comprendre comment les éléments suivants pourraient se produire -Twitter Live Search

  1. Il doit y avoir une couche entre le moment où les tweets utilisateur & lorsque le index (mises à jour) se produire. Est-ce que cette couche MySQL ou une autre couche de cache (memcached, cassandra)? Peut-être ...
  2. indexation - Comment pourrait les mises à jour de l'index se produire? Ils ne peuvent probablement pas créer un nouvel index à partir de zéro?
  3. indexation - Il doit y avoir un index distribué ici. Comment mettre à jour tous les index sans avoir à servir des données périmées d'un index & dernières données de l'autre?
  4. indexation - Ou est-ce important si quelque chose comme cela se produit? Honnêtement, je ne pense pas :) Quel utilisateur remarquerait ...

Tout le monde a quelque chose d'intéressant à ajouter/discuter. J'essaie de comprendre ...

Répondre

0

Intéressant en effet, mais je suppose qu'il est plus d'une question « architecture », et pas vraiment une question de programmation.

Mais votre information, il y a beaucoup d'informations à haute évolutivité: posts tagged with twitter

gardent-ils tous les tweets? Ma conjecture est qu'ils les jettent juste après un certain temps, et sûrement ils n'ont pas besoin de propriétés ACID? ..

Et je ne ferais pas confiance si je les horodatages où vous :)

+0

Précisément! Les timestamps Twitter (d'ailleurs SO) peuvent ne pas être totalement précis. Mais ils doivent au moins le synchroniser de telle sorte que tout le monde le voit en même temps. Peut-être y a-t-il un changement d'index qui se produit (c'est-à-dire d'un ancien index vers un nouvel index)? ou en utilisant un grand index + combo petit index? –

+0

Je ne sais pas ce qu'ils font index, mais je doute que c'est un grand index principal. Pourquoi tout le monde doit-il voir la même chose tout le temps? C'est probablement tout "finalement cohérent" - le fait que vous voyez quelque chose ne veut pas dire que les autres le font .. par exemple. Si vous publiez quelque chose, vous pourriez le voir tout de suite, mais je ne le verrai peut-être pas avant un petit moment. –