Selon Ravi Murthy, qui gère l'infrastructure analytique de Facebook, « les données recueillies par le réseau social sur plus d'un milliard d'utilisateurs sont un trésor en termes de retombées publicitaires, mais, dans l'année qui vient, le travail d'analyse réalisé par le réseau social sur ces données devra répondre à de nombreux défis ».

« Bien avant les autres acteurs de l'industrie », Facebook a dû se confronter à des problèmes comme « trouver des moyens plus efficaces pour analyser le comportement des utilisateurs sur le site, mieux accéder et consolider les différents types de données recueillies par les multiples datacenters de Facebook, ou encore trouver de nouvelles solutions logicielles Open Source pour traiter ces données », a expliqué l'ingénieur. « En général, quand on évoque le réseau social, les gens pensent d'abord au ciblage de la publicité, mais Facebook est en premier lieu une entreprise de données », a-t-il ajouté lors de son intervention intitulée « L'infrastructure back-end, l'analyse de données et les projets Open Source de Facebook ». « En effet, l'enjeu va bien au-delà », a affirmé Ravi Murthy.

Par exemple, en coulisse, Facebook travaille beaucoup sur son infrastructure analytique afin d'accélérer le développement de produits et améliorer l'expérience utilisateur en procédant à une analyse approfondie de toutes les données disponibles, que ce soit les actions effectuées par les utilisateurs sur le site, comme les mises à jour de statuts, ou pour identifier les applications qu'ils utilisent dans Facebook depuis leurs terminaux. « Actuellement, Facebook recourt à plusieurs solutions logicielles Open Source comme Hadoop, Corona et Prism pour traiter et analyser ces données. Au cours des six à douze prochains mois, le réseau social va chercher à rendre ces processus plus rapides et plus efficaces », a confié l'ingénieur.

Plus de 500 téraoctets de plus chaque jour


Un grand nombre d'enjeux auxquels Facebook est confronté concernent le datawarehouse. Des données provenant de plusieurs sources sont traitées par une base de données qui analyse l'ensemble de l'activité de l'utilisateur, pour livrer par exemple un rapport quotidien sur le nombre de photos qui ont été marquées dans un pays spécifique, ou pour comptabiliser le nombre d'utilisateurs qui, dans une région particulière, ont cliqué sur des pages qui leur avaient été recommandées. « Le but de l'analyse est d'optimiser l'expérience des utilisateurs, savoir ce qu'ils aiment et ce qu'ils n'aiment pas. Mais l'analyse devient aussi de plus en plus difficile à mesure que Facebook accède à plus de données sur ses utilisateurs », a expliqué Ravi Murthy. Actuellement, Facebook capte plus de 500 téraoctets de données nouvelles chaque jour, soit 500 000 gigaoctets. L'entrepôt a multiplié sa taille de près de 4 000 fois au cours des quatre dernières années, « avec une grande longueur d'avance sur la croissance des utilisateurs de Facebook », a précisé l'ingénieur.

« Pour faire face à ces problèmes, Facebook a mis au point sa propre solution logicielle Prism, qui permet de mener des fonctions d'analyse clé à travers tous les centres de données que l'entreprise possède à travers le monde, et de découper les analyses en « morceaux », a encore expliqué Ravi Murthy. « Cela permet par exemple de mesurer le flux de nouvelles sans ralentir l'entreposage dans son ensemble. Nous réfléchissons de plus en plus à la façon de capturer ces données », a-t-il encore déclaré. « Le réseau social travaille également sur une solution qui adopte une approche totalement différente pour envoyer des requêtes à l'entrepôt, de façon à obtenir une réponse en quelques secondes », a ajouté Ravi Murthy.

Améliorer aussi l'infrastructure transactionnelle

Un autre domaine que Facebook cherche continuellement à améliorer, c'est celui de son « infrastructure transactionnelle », qui gère au jour le jour le traitement des données plus élémentaires, par exemple, les « J'aime », les commentaires et les mises à jour de statuts, pour que le réseau social reste fluide. « Les ingénieurs et les analystes de l'entreprise cherchent à savoir comment anticiper la croissance réelle de ce type de données, et quelle quantité d'IT Facebook devrait vraiment allouer à cela », a déclaré Ravi Murphy. « La question est de savoir comment arriver à prédire l'état des données à six mois », a-t-il demandé.

À côté de cela, Facebook a également pris des mesures à long terme pour rendre ses serveurs physiques plus efficaces. Ainsi, en 2011, le réseau social a lancé son initiative Open Compute Project, dont l'objectif est de promouvoir un design de serveurs modulaires afin d'offrir plus de choix aux entreprises en matière de mémoire, d'alimentation, de composants et de mise à niveau des systèmes. En janvier prochain, le projet s'enrichira d'une offre de serveurs à processeurs ARM.