Spécial Big Data : 2 – Big Data, Hadoop et les analytiques

Infographie Big Data Enterprise logo © TCS

Hadoop, HDFS et MapReduce forment l’ossature logicielle d’une infrastructure Big Data, de son architecture en cluster avec des nœuds, à 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 nœuds 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 nœuds 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 nœuds 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 nœuds 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 nœuds, de redémarrer un nœud sur lequel s’est produite une erreur, ou d’assigner la tâche à un autre nœud. MapReduce peut également relancer une tâche sur un autre nœud 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 nœuds de calcul qui forment le cluster, ceux-ci peuvent être des VM et profitent de la scalabilité des nœuds Hadoop (capacité à faire varier le nombre de nœuds 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 nœud ou à assigner une tâche à un autre nœud.

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 nœuds, le Big Data dans le cloud se révèle généralement moins consommateur de bande passante… Les administrateurs de datacenters apprécieront.