Informations sur l'infrastructure technique de Google
© WebRankInfo

Voici quelques points abordés par Jeff, fournis ici un peu en vrac... Notez que vous pouvez également retrouver l'intégralité de la conférence sous forme de vidéo (environ 1h, en anglais).

Sur l'ensemble des 4 milliards de pages, la taille moyenne est de 10 Ko. Cela signifie que Google doit gérer une quantité de données gigantesque, de l'ordre de plusieurs dizaines de téra octets (environ 40 000 Go)

Google récupère énormément de données pour mieux analyser l'expérience utilisateur, qu'ils souhaitent évidemment toujours améliorer. Ces données sont par exemple les clics dans les pages de résultats. Google travaille actuellement sur de nouvelles interfaces utilisateur complètement différentes de l'interface actuelle...

Pour stocker les données et répondre aux requêtes, Google avait le choix entre des très gros serveurs ou un grand nombre de PC traditionnels. Voici une comparaison des coûts de deux solutions étudiées, qui explique pourquoi Google a choisi la seconde :

  • Serveur IBM eServer xSeries 440
    • 8 processeurs Xeon de 2 GHz
    • 65 Go de RAM
    • 8 To de disque
    • 758 000 $
  • Rack de 88 machines
    • 176 processeurs Xeon de 2 GHz (88 x 2)
    • 176 Go de RAM (88 x 2)
    • 7 To de disque
    • 278 000 $

Chaque jour dans les data centers de Google, plusieurs machines tombent en panne ! Tous les développements d'applications sont donc conçus pour être tolérants aux pannes.

L'index de Google est découpé en petits bouts afin qu'ils puissent être stockés sur chaque machine. Chacun de ces bouts est appelé un shard. La répartition des documents en shards se base entre autres sur le PageRank.Chaque shard est dupliqué pour être sur plusieurs machines (il y a d'autant plus de duplicatas que le PageRank est élevé).

Google accorde beaucoup d'importance au temps de réponse à chaque requête. Pour ne pas excéder 0,5 seconde, Google déploie des data centers dans le monde entier afin de rapprocher les serveurs des utilisateurs.

Schéma des serveurs de Google utilisés pour répondre aux requêtes

En moyenne 1000 machines sont utilisées pour chaque requête, dont le temps moyen de réponse est de 0,25 seconde. Sachant qu'il y a plus de 250 millions de requêtes par jour sur le réseau des sites de Google...

Google développe ses propres applications afin de s'adapter entièrement à ses contraintes particulières. Voici quelques exemples d'applications :

  • Google File System (GFS) : pour le stockage. Gestion de plusieurs Po (1 Peta octets = 1024 Tera octets = 1 048 576 Giga octets). Les performance sont de 2 Go/s en lecture et écriture malgré les pannes
  • Global Work Queue (GWQ) : plannificateur de tâches
  • MapReduce : système simplifié de traitement de données à grande échelle, tolérant aux pannes

Source : University of Washington

Discutez de l'article Informations sur l'infrastructure technique de Google dans le forum