Panorama des solutions de big data Hadoop et son écosystème

Hadoop est une plate-forme informatique open source capable de gérer de gigantesques volumes de données, structurées et non structurées, dans le cadre d'un système distribué. Hadoop fait partie de la fondation Apache.

Rappelons que Google est à l'origine de cette plate-forme. Le moteur de recherche chercha en effet très tôt le moyen d'indexer les informations de type texte qu'il collectait, afin de présenter des résultats pertinents aux utilisateurs lors de leurs recherches sur le web. A l'époque, voyant qu'aucune solution du marché ne permettait de répondre à ce besoin, Google décida de bâtir sa propre plate-forme. Les innovations de Google ont ensuite été incorporées dans Nutch, une initiative menée par Doug Cutting visant à construire un moteur de recherche open source. Avec la collaboration de Cutting, Yahoo a par la suite joué un rôle très important dans le développement de Hadoop pour les entreprises.

Hadoop a été conçu pour résoudre des problèmes liés à la volumétrie et à la variété des données. Cette plate-forme est idéale pour effectuer des analyses demandant beaucoup de calculs et portant sur de larges sets de données. A titre d'exemple, Hadoop est ainsi complètement adapté aux problématiques d'analyse financière reposant sur des modèles sophistiques, ou encore aux sites de commerce de détail pour répondre de façon appropriée aux recherches effectuées par les internautes sur le site.

En termes d'architecture, Hadoop a été pensé pour fonctionner sur plusieurs serveurs simultanément (jusqu'à plusieurs milliers si besoin), chacun offrant de la puissance et du stockage. En pratique, les données sont réparties sur les différents serveurs, et Hadoop gère un système de réplication de façon à assurer une très haute disponibilité des données, même lorsqu'un ou plusieurs serveurs sont défaillants. La force de Hadoop est donc de pouvoir bénéficier de la puissance de calcul de multiples serveurs banalisés en cluster. Les traitements parallélisés sont gérés par MapReduce, dont la mission est de répartir les traitements sur les différents serveurs, et inversement d'agréger les résultats élémentaires en un résultat global.

Plus concrètement Hadoop est constitué de plusieurs composants couvrant le stockage et la répartition des données, les traitements distribués, l'entrepôt de données, le workflow, la programmation, sans oublier la coordination de l'ensemble des composants.

figure 4.1. principaux composants d'apache hadoop
Figure 4.1. Principaux composants d'Apache Hadoop © Lavoisier