FOSDEM 2011 : Day #2

Principal talk de la journée – Facebook messages avec HDFS/HBase :
Une présentation du projet de Facebook d’unifié tous les messages (SMS, Email, Chat…).

Peu de présentation autour du coté fonctionnel de la chose (« la philosophie » pour emprunter un terme Google-Wavien)Mais une présentation technique très intéressante, voilà un petit résumé des principaux points clés de cette présentation.

Tout d’abord au niveau technologies, malgré la présence des trois devs principaux de Cassandra dans l’équipe de Facebook, ils ont décidés après évaluations de toutes les solutions « NoSQL » de partir sur HBase pour la gestion des 24 Gb de données mensuelles (chiffres évoqués par le présentateur de Facebook correspondant aux seules données de Messages…) qu’ils ont a traiter.

Le principe est assez simple, ils ont constitués des cluster HBase basé sur le système de fichier HDFS, et ils utilisent ZooKeeper (User Directory Service) pour rediriger vers le bon Master d’un cluster, les requêtes.

HBase sert pour les Metadata et corps de messages. Le serveur applicatif en lui-même utilise Memcached (comme de bien entendu…).

Etant donné l’assez importante utilisation d’HBase, ils ont recourt à Hadoop énormément pour des Jobs MapReduce dont dépendent l’application et la migration d’anciennes données.

Pour HBase et pas Cassandra ?
Principalement pour éviter de gérer le problème de l’eventual consistency (c.f. CAP Theorem) inhérent à Cassandra. HBase pour sa part a un modèle de consistence très puissant, et supporte le MapReduce « out of the box » le tout sous HDFS. L’équipe de Facebook a fait d’autres présentations auxquelles vous pouvez vous reporter en complément : sur facebook.

Vale

Laisser un commentaire