Big Data, Science des données, aide à la décision en entreprise, business intelligence, data warehouse, reporting, OLAP, web analytics, data visualization, data mining, internet des objets, informatique cognitive, intelligence artificielle...

Abonnez-vous gratuitement à Decideo !


Decideo

 


Hadoop : La nouvelle stratégie de gestion de données


Rédigé par Juvénal CHOKOGOUE le 12 Octobre 2015

Avec toutes les caractéristiques des données dont nous disposons aujourd'hui, c'est impossible de penser « Gestion de données » tel qu'on l'a fait dans le passé, c'est-à-dire centraliser le stockage des données sur un serveur et centraliser le traitement et la gestion de ces données sur un SGBD (Système de Gestion de Base de Données). Vous entendez parler de Hadoop sans comprendre de quoi il s’agit. Cet article vous en présente les bases.



Juvénal CHOKOGOUE, Consultant Business Analytics et Big Data
Juvénal CHOKOGOUE, Consultant Business Analytics et Big Data
Avec l'avènement du Big Data, l'idée n'est plus de stocker et traiter les données sur un serveur [aussi puissant soit-il], mais de distribuer le stockage des données et de paralléliser le traitement de ces données sur plusieurs nœuds d'une grappe (plusieurs dizaines, voir centaines, voir milliers de PC classiques interconnectés entre eux par des câbles réseaux au moyen de commutateurs).

Nous reviendrons sur les architectures de traitement massivement parallèle dans un autre article. Ce "nouveau" modèle informatique est appelé le "cluster computing", ou en français informatique en grappes. Dans le cluster computing, les nœuds sont stockés dans des casiers (8 à 64 nœuds par casier). Les nœuds dans un casier sont connectés par un câble réseau à forte bande passante typiquement de l'ordre du Gigaoctet par seconde. Il peut y avoir plusieurs casiers de nœuds dans un cluster et dans ce cas, les casiers sont connectés entre eux soit par un autre niveau de câble réseau ou au moyen de commutateurs (switches). Dans cette configuration, l’évolutivité (« scalability », c’est à dire la montée en charge) est linéaire (c'est-à-dire proportionnelle à la croissance de la volumétrie des données) et se fait simplement en ajoutant de nouveaux nœuds au cluster. Cet avantage (montée en charge linéaire) rend le modèle du cluster computing approprié pour la distribution du stockage et la parallélisation des traitements des données.

Dans ce modèle, le principal problème est la perte possible d'un nœud (par exemple la panne du disque dur d'un des nœuds dans un cluster) ou la panne d'un casier entier. La solution à ce problème prend deux formes :
- les fichiers de données doivent être stockés de façon redondante sur plusieurs nœuds dans plusieurs casiers. Si l'on ne duplique pas les fichiers sur plusieurs nœuds, si un nœud tombe en panne, tous ses fichiers seront indisponibles jusqu'à ce que le nœud soit changé ;
- les calculs (traitements) doivent être divisés en tâches et parallélisés, de manière à ce que si une tâche n'est pas traitée entièrement, elle n'affecte pas les autres tâches. La redondance des données sur plusieurs disques durs est supportée par un nouveau type de Système de Fichiers appelé "Système de Fichier Distribué" (DFS). Le découpage des traitements en plusieurs tâches, et la parallélisation de ces tâches sur un grand nombre de nœuds, se font à l'aide d'un nouveau modèle de programmation créé à l'origine par Google appelé le "MapReduce".

L'implémentation la plus populaire (et la plus mature) du MapReduce s'appelle "Hadoop". Hadoop a été repris par la fondation Apache et est actuellement disponible en Open Source. Hadoop est disponible avec le modèle de traitement massivement parallèle de Google, le MapReduce et son propre Système de Fichier Distribué appelé "HDFS" (Hadoop Distributed File System)

Oui, vous avez maintenant compris ! Vous pouvez utiliser Hadoop pour gérer des traitements de données à grande échelle de manière complètement tolérante aux pannes. Tout ce que vous aurez à écrire ce sont deux fonctions appelées "Map" et "Reduce", le système gèrera pour vous l'exécution parallèle, la coordination des tâches qui exécutent le MapReduce, et les éventuelles pannes.

A noter : à la base, le MapReduce fonctionne en mode "Batch" (c'est-à-dire que les traitements se font sur disque). Le mode "Batch" n'étant pas adapté à de nombreuses problématiques d’analyse de données, les nouvelles versions d'Hadoop ont vu la mise à jour du modèle MapReduce par un modèle plus flexible supportant plusieurs modes de traitements, appelé YARN (Yet Another Resource Negotiator).




Nouveau commentaire :
Facebook Twitter

Vous pouvez commenter ou apporter un complément d’information à tous les articles de ce site. Les commentaires sont libres et ouverts à tous. Néanmoins, nous nous réservons le droit de supprimer, sans explication ni préavis, tout commentaire qui ne serait pas conforme à nos règles internes de fonctionnement, c'est-à-dire tout commentaire diffamatoire ou sans rapport avec le sujet de l’article. Par ailleurs, les commentaires anonymes sont systématiquement supprimés s’ils sont trop négatifs ou trop positifs. Ayez des opinions, partagez les avec les autres, mais assumez les ! Merci d’avance. Merci de noter également que les commentaires ne sont pas automatiquement envoyés aux rédacteurs de chaque article. Si vous souhaitez poser une question au rédacteur d'un article, contactez-le directement, n'utilisez pas les commentaires.