Le Big Data au service de l'optimisation marketing Tradelab s'adosse à MapReduce pour traiter des dizaines de térabits par jour

Spécialiste du display en temps réel sur les plates-formes d'adexchange, Tradelab fait face à deux grandes problématiques de traitement de données. En premier lieu, un besoin d'analyser de gros volumes d'informations, et les corréler pour dresser des profils comportementaux. "Et plus les données disponibles seront nombreuses, plus le traitement statistique sera facile à réaliser et donc rapide pour obtenir les paterns de comportement", commente Vincent Mady, directeur technique de Tradelab. Second cas : réaliser des traitements pour mettre en œuvre des processus de retargeting. "Il ne s'agit pas de processus temps réel, mais exécutés très rapidement. Ils consistent à récupérer des données de trafic pour ensuite pousser à l'internaute des publicités qui peuvent l'intéresser", ajoute Vincent Mady.

vincent mady, directeur technique de tradelab, a en charge l'ensemble de
Vincent Mady, directeur technique de Tradelab, a en charge l'ensemble de l'infrastructure Big Data de la société. © Tradelab

La base de données non-relationnelle MongoDB

Dans les deux cas, Tradelab s'est doté de solutions de Big Data. Au centre de son système de traitement massif, la société a déployé la base non-relationnelle Open Source MongoDB. Une solution orientée documents, qui lui permet de récupérer de nombreux formats de données. Des flux en provenance de sa propre base de données (4 millions de profils), de fournisseurs de données (comme Weborama), de campagnes gérées pour le compte de ses clients (impressions, clics, conversions, retargeting...), mais aussi de sites partenaires. "MongoDB offre un bon rapport consommation de ressources / performance / fiabilité", estime-t-on chez Tradelab. Du fait de son orientation "documents" et sa capacité à prendre en charge des indexations, MongoDB permet aussi de gérer des requêtes assez élaborées.

Mais sur des architectures très distribuées, ce serveur de données peut néanmoins poser des problèmes de fiabilité. "Un nœud peut toujours tomber, ce qui n'est pas adapté à une approche temps réel", note Vincent Mady. De ce fait, Tradelab préfère miser sur Riak pour ses systèmes de gestion de retargeting. Il s'agit d'un autre système distribué de gestion de base de données NoSQL, mais reposant sur une structure plus simple sous forme de clé-valeur. Considérant la valeur stockée comme un contenu opaque, elle gère donc les requêtes avec plus de réactivité, les lectures et écritures étant réduites à un accès disque simple. "Riak nous permet de stocker les données en mémoire RAM ou SSD, et dans ce domaine nous préférons utiliser des serveurs dédiés, ce qui nous permet de mieux maitriser les contraintes matérielles et réseau et donc de mieux maitriser les performances", ajoute Vincent Mady.

20 térabits de données par jour en provenance d'un des principaux Ad-networks mondiaux

Pour les autres travaux d'analyse à destination des clients, les données de MongoDB sont ensuite basculées vers des bases relationnelles et autres documents stores, suffisants pour les traitements décisionnels non-temps réel.

"Nous n'aurions jamais pu nous lancer dans cette aventure sans l'Open Source", Vincent Mady (Tradelab)

 Pour gérer les calculs en aval et créer rapidement des méta-données, Tradelab utilise MapReduce, l'une des principales briques de l'infrastructure de traitement massif Hadoop (MapReduce est implémentée dans l'API de MongoDB). "La mise en place d'un cluster Hadoop est envisagée à court ou moyen terme pour permettre l'agrégation des données collectées, en très forte augmentation. Il offre un système de fichiers robuste pour gérer les lectures / écritures séquentielles asynchrones, qui est très parallélisable", note Vincent Mady, avant de reconnaitre que la mise en place de cette technologie reste complexe. Pour l'heure, Tradelab absorbe par exemple 20 térabits de données par jour en provenance d'un des principaux Ad-networks mondiaux.


La principale problématique de ce type de chantier ? "C'est de gérer les arbitrages entre les volumes de données à prendre en compte, le temps de traitement souhaité, la ressource informatique disponible, et les coûts", estime le directeur technique de Tradelab, avant de conclure : "nous n'aurions jamais pu nous lancer dans cette aventure si nous n'avions pas disposer de brique Open Source. Dans ce domaine, les produits propriétaires demeurent trop chers pour des sociétés de notre taille, même si elles apportent une fiabilité supplémentaire indéniable."