Hadoop et les autres technologies de Datawarehousing

Face aux limitations des architectures de base de données classiques, les géants d'internet ont développé de nouvelles architectures. Ces nouvelles architectures permettent de dépasser des limites de volumétries pour traiter jusqu'à des Peta de données. En regard des technologies classiques de bases de données et de Datawarehousing, c'est tout un écosystème qui s'est développé.

Le chef de file de cet écosystème du bigData est la technologie Hadoop. Le cluster Hadoop est constitué d'HDFS (le système de fichiers distribués Hadoop) et Map/Reduce. La technologie logicielle développée permet de traiter beaucoup de données sur des matériels standards, donc à couts très réduits. L'approche consiste à rapprocher les données des ressources de calcul. Les gros volumes de données sont découpées en morceaux de 64 à 128 Mo, et sont répartis sur les noeuds du cluster avec HDFS. Chaque noeud réalise des traitements localement sur son lot de données (phase de Map), et dans une seconde étape (le Reduce) les résultats sont consolidés et synthétisés en 1 point du système de fichiers répartis. Cette explication de Map/Reduce est assez limitée, mais nous resterons ici à un niveau conceptuel. Map/Reduce permet de travailler de manière systématique sur des volumes de données importants, par exemple réaliser simplement un produit cartésien de millions de lignes. Cette facilité a un prix qui est celui d'une exécution en mode asynchrone, lancer un traitement prend du temps, et nécessite d'articuler les développements en conséquence. 

Parmis les technologies ayant de fortes similitudes, on va trouver MPP (Massively Parallel Processsing) qui est déjà très largement utilisé depuis très longtemps dans le monde du Datawarehouse. MPP consiste là aussi à répartir les traitements et à paralléliser ceux-ci. Le MPP consiste à répartir les données sur plusieurs noeuds et à traiter ces données localement, pour ensuite les consolider. MPP est donc très proche d'Hadoop, à la différence près d'être implémenté de manière très propriétaire. Aujourd'hui les leader du marché du Datawarehousing, Teradata, Netezza et bien d'autres ont adopté cette architecture. Lorsqu'il est vendu bundlé avec du Hardware, c'est dans des offres très haut de gamme qu'on retrouve MPP, et bien évidement a des tarifications très souvent élevée pour ne pas utiliser d'autre termes. La performance obtenue par les architectures MPP n'est pas le seul facteur d'adoption, la disponibilité d'interfaces standardisée de type SQL permet une facile intégration dans des outils tiers. Les offres de grands constructeurs présentent aussi l'énorme avantage de disposer d'un support intégré de bout en bout. 

Au même titre que Hadoop fait son entrée dans les offres des constructeurs de plateformes MPP afin de permettre une consolidation de leurs bases autour de leurs offres historiques, rien n'interdirait qu'il y ait un mouvement de plateformes MPP vers du hardware banalisé. Les bases MPP et hadoop ne répondent pas aux même problématiques, l'une est orienté traitement de masse et l'autre est orienté vers l'obtention de résultats rapidement voir en temps réel. Pour ces raisons il y a de la place pour plusieurs technologies dans cet écosystème bigData, et leurs imbrications sont nécessaires. Nous reviendrons plus en détails sur ces scénarios d'utilisation dans de prochains posts. 

 

Séminaire BigData du 9 juin 2011

J'ai participé le 9 juin au séminaire de l'association Aristote sur le thème du BigData. J'avais été invité a faire une présentation des différentes technologie du marché en réponse au grand défi qu'est le BigData. Cette présentation est donc un décryptage des offres des grands constructeurs que sont EMC, IBM, Oracle…, et des architectures innovantes du monde opensource, avec notament Hadoop dont nous avons déjà parlé ici.  

Présentation des solutions big data pour Aristote 9-6-2011
Le séminaire a été amorcé par Xavier Dalloz qui a remis en perspective la problématique du BigData en s'appuyant sur une publication de McKinsey sur le sujet. 
Dans les présentations plus techniques, certaines ont retenu mon attention :
  • Alexandru Costan (INRIA) nous a présenté un système de fichiers distribué : BlobSeer
  • Joerg Bienert (ParStream) nous fait découvrir ParStream un moteur de base de données dédié aux très grandes base de données et dont la technologie offre des niveaux de performance très intéressant. 
  • Denis Caromel (ActiveEon-INRIA) a présenté un progiciel de workflow permettant d'organiser des travaux Map/Reduce dans un cluster très largement distribué.
  • Nicolas Pons (INRA) a présenté ses travaux sur la génomique. Aujourd'hui la capacité de séquençage augmente infiniment plus vite que la capacité de stockage et de calcul dont nous disposons.
Vous pouvez retrouver toutes les présentation de cet excellent séminaire ici. Encore un grand bravo aux organisateurs qui ont su faire de cette journée une réussite.