Spécial Big Data : 2 - Big Data, Hadoop et les analytiques
Publié par La rédaction le | Mis à jour le
Hadoop, HDFS et MapReduce forment l'ossature logicielle d'une infrastructure Big Data, de son architecture en cluster avec des nouds, à sa capacité de traitement au service de l'analyse.
Au delà de la consolidation du stockage de gros volumes de données, structurées et non structurées, et dispersés, le Big Data propose d'élever la valeur de l'information stockée par l'entreprise ou accessible sur ses réseaux en apportant une couche de traitement qui va supporter les outils d'analyse.
Pour cela, les solutions de Big Data intègrent une couche de support d'applications, ce que nous appelons un framework, qui fait lien entre la couche de stockage et le traitement de la donnée.
Hadoop, le framework support de la base de données Big Data
En ce domaine, une solution émerge. Elle porte le nom Hadoop. C'est un framework open source d'architecture distribuée, dont les développements sont hébergés par la Fondation Apache et qui est dédié au support des applications destinées au Big Data, en particulier l'analytique, sur le système de fichier distribué HDFS (Hadoop Distributed File System). Au fil des quelques années qui ont rythmé le développement du Big Data, le framework Hadoop s'est imposé en pilier de cette technologie.
Développé en langage Java, Hadoop supporte tout d'abord la base HBase, la base de données distribuée qui consolide l'identité des informations collectées par toute solution de Big Data au travers de ses nouds qui composent un cluster de serveurs. Elle supporte bien évidemment le système de fichier HDFS. Et elle apporte à l'ensemble des fonctions de sécurité indispensables. Les données Big Data sont ainsi prêtes à faire l'objet d'un traitement analytique.
MapReduce, l'architecture analytique
Ce traitement analytique va venir, dans la stack (pile) applicative qui compose Hadoop, d'une architecture de développement dédiée aux calculs parallèles et distribués, nommée MapReduce. Modèle de programmation, elle permet la manipulation des données en très grande quantité, distribuées sur le cluster de nouds de serveurs qui composent l'architecture de la solution Big Data déployée.
Voilà pourquoi Hadoop adopte le mode bloc, c'est-à-dire qu'un fichier est découpé en blocs de même taille afin d'être distribués sur les nouds puis traité, d'où l'expression 'Reduce' qui renvoie vers une fonction de programmation avec des résultats partiels. Le système avec HDFS conserve la cartographie des données distribuées, d'où l'expression 'Map', qui renvoie également vers une autre fonction.
C'est ainsi que des données non structurées peuvent faire l'objet d'un traitement analytique et que cette découpe en blocs accélère le traitement, jusqu'à se rapprocher du temps réel.
Le découpage de la donnée en blocs, leur répartition sur les nouds qui composent le cluster puis l'exécution des tâches (parallélisation) sont transparents pour l'utilisateur. C'est par ailleurs à MapReduce que revient la mission de piloter les nouds, de redémarrer un noud sur lequel s'est produite une erreur, ou d'assigner la tâche à un autre noud. MapReduce peut également relancer une tâche sur un autre noud si le premier se révèle trop lent.
Big Data et cloud computing
C'est presque naturellement que le Big Data se marie avec le cloud computing. D'abord parce que les deux technologies tirent profit de la maturité de la virtualisation. Un prérequis lorsqu'il s'agit de consolider des infrastructures dispersées et hétérogènes, sous la forme d'une abstraction virtuelle. De plus, si le Big Data ne s'intéresse qu'aux données, celles-ci sont de plus en plus stockées dans le nuage, quelle que soit leur forme. Or le cloud se prête au stockage évolutif (scale-out) de très gros volumes de données.
La présence des VM (machines virtuelles) est également un atout pour le déploiement d'une architecture de Big Data. Le traitement analytique de la donnée est réparti sur des nouds de calcul qui forment le cluster, ceux-ci peuvent être des VM et profitent de la scalabilité des nouds Hadoop (capacité à faire varier le nombre de nouds selon les besoins). L'apport sécuritaire de MapReduce, nous l'avons évoqué plus haut, offre enfin une fonctionnalité de tolérance aux fautes par sa capacité à relancer un noud ou à assigner une tâche à un autre noud.
Par ailleurs, les technologies Big Data se révèlent gourmandes en ressources, même si celles-ci existent et sont consolidées. La souplesse du cloud apporte une agilité dans le provisioning de l'infrastructure et l'affectation des ressources. La couche virtuelle d'abstraction est également centralisée, et se révèle ainsi plus facile à gérer. Et paradoxalement, grâce au cloud, aux machines virtuelles et à la gestion des nouds, le Big Data dans le cloud se révèle généralement moins consommateur de bande passante. Les administrateurs de datacenters apprécieront.