Hadoop simplement et en 5 min, top chrono !
Si nous devions expliquer Hadoop à quelqu’un qui “ne connaît pas” et en 5 min :
Qu’est-ce que c’est ? et à quoi ça sert ?
Hadoop c’est une technologie permettant de stocker et de manipuler de grandes volumétries de données structurées ou non.
D’où ça vient et pourquoi cela fait le Buzz ?
Hadoop provient de l’adaptation, par Doug Cutting et Michael J Caffarella, de thèses de Google sur le stockage et les calculs parallèles dans le cadre d’un projet de recherche pour Yahoo.
Ces derniers ont créé Hadoop, une technologie Open Source et donc “gratuite”, alors que jusque là les technologies permettant d’analyser de grosses volumétries de données étaient très coûteuses.
Techniquement, ça marche comment ?
Techniquement c’est un système distribué, c’est-à-dire qui fonctionne sur plusieurs ordinateurs (un cluster) et qui est donc différent des bases de données “classiques” ne fonctionnant que sur un seul serveur.
Ce système est composé de deux modules principaux :
- HDFS (Hadoop Distributed File System) qui est un système de fichiers (comme “mes documents”) distribué (les données sont découpées puis stockées sur plusieurs ordinateurs) qui permet de stocker les données sous leur format natif (png, word,txt, etc.)
- Map Reduce, qui est un paradigme (modèle de programmation) se basant sur le principe du “diviser pour mieux régner” et permettant d’analyser les données stockées dans HDFS en utilisant le plus de serveurs en même temps. A cela s’ajoute tout un écosystème d’applications permettant de rajouter des fonctionnalités dans Hadoop (temps réel, alimentation, structuration des données, etc.)
Les principaux avantages ?
- Tout l’écosystème Hadoop est Open Source et donc gratuit
- Hadoop est un système dit « scalable », s’il on a besoin de plus d’espace on peut soit améliorer les serveurs existants soit ajouter de nouveaux serveurs
- Il présente de bonnes performances pour les traitements de “gros” volumes de données
- Couplé à des applications comme Spark, il permet le temps réel
- Hadoop s’installe sur tous les types de serveurs, pas besoin de serveurs haut de gamme
- Abondance de la documentation sur Internet concernant le cœur d’Hadoop
- Possibilité de retrouver la notion de relationnel et le SQL pour les données structurées (avec des applications comme Hive)
- Possibilité d’intégrer une base NoSQL orientée colonnes
- Hadoop et son écosystème permet de répondre aux trois Vs (volume, vélocité, variété)
Les inconvénients d’Hadoop ?
- Solution Open Source/solution « jeune », avec une interface très épurée par défaut et pas forcément très « user friendly »
- Documentations principalement en anglais
- De nombreuses applications créées autour de Hadoop régulièrement dont bon nombre sont amenées à disparaître
- Documentation faible pour certaines applications gravitant autour de Hadoop
- Hadoop ne porte pas encore les contraintes ACID qui font la force des SGBDR
- Il est moins efficace que les systèmes classiques pour les faibles volumétries de données
- Compétences rares et donc chères
Nous espérons que cet article, bien que très synthétique, vous aura permis de comprendre ce qu’est Hadoop « dans les grandes lignes ».
Nous détaillerons le fonctionnement d’HDFS, du Map Reduce et des différents composants de l’écosystème dans de prochains articles !
Article écrit par Anne-Sophie LAUGIER et Louis-Baptiste FRANCE