youtube : site à très fort trafic

Quelle est la base de données de YouTube ?

Historiquement, YouTube utilisait MySql pour stocker les vidéos. Mais avec un fort trafic, des lenteurs apparurent inévitablement. Pour gagner en performance tout en supportant un trafic très important (60% des vidéos vues au monde sont sur Youtube, 3ème site le plus visité au monde, 1 milliard d’utilisateurs, 6 milliards d’heures de vidéos vues chaque mois), MySql a été rejoint par la base de données Bigtable ainsi que d’autres outils d’optimisation de performances. Bigtable est un outil développé par Google pour gérer de gigantesques volumes de données. C’est une base de données orienté colonnes.

L’idée fondamentale pour le site YouTube est de stocker le strict nécessaire en base de données. Les vidéos en elles-même ne sont pas stockées dans la base de données. C’est uniquement l’adresse de la vidéo qui est conservée en base de données. Ainsi, le site YouTube fonctionne certainement de la manière suivante :

  1. Chaque vidéo à un numéro unique ;
  2. Une fois envoyé à YouTube, un traitement par lot s’opère. Dans ce traitement, YouTube transforme la vidéo, la convertit dans son format passe-partout, génère des miniatures, extraits des données essentielles et des méta-données (auteur, taille, nom, adresse réelle de la vidéo…);
  3. Les données essentielles et les méta-données sont stockées en base de données. C’est léger et rapide d’accès ;
  4. La vidéo, pour sa part, est stockée sur un CDN (serveurs répartis à différents endroits de la planète) afin de permettre un accès rapide à tous les internautes.

Un article (technique et en anglais) datant de 2012 explique les enjeux et les défis techniques liés à la montée en puissance de YouTube.