Big Data : Hadoop et Spark ou la fusion du batch et du temps réel !


Rédigé par le 6 Janvier 2014

Rappelez-vous, en janvier 2013, Gartner prédisait que 65% des applications analytiques reposeraient sur une plateforme Hadoop en 2015. Hadoop – que l’on ne présente plus de nos jours, mais pour un petit rappel, vous pouvez lire ceci – a eu droit à un beau lifting en 2013. Ainsi, revenons sur la principale avancée de cette année qui va, très certainement changer notre façon d’organiser les données.



Hadoop des bénéfices et gains incontestables

Abed AJRAOU, Responsable de Domaine Business Intelligence PagesJaunes
Tout d’abord, rappelons les avantages de ce framework :

• Le coût de stockage : il est fréquent de rencontrer des entreprises qui ne conservent pas l’ensemble de leurs données, uniquement pour un problème de coût. En effet, les données historiques dans les bases de données RDBMS sont souvent purgées pour garantir des performances acceptables et surtout pour ne pas investir davantage d’un point de vue logiciel et en infrastructure. Or Hadoop permet de stocker à moindre de coût ! Avec un tel framework, il devient alors possible de stocker et de conserver toutes les données, pour le plus grand bonheur de nos Data Scientist.

• La performance : contrairement aux bases de données traditionnelles, Hadoop permet aux applications d’interroger et d’analyser des téraoctets de données très rapidement tout en garantissant les performances, en utilisant un système de serveurs très bon marché (cluster parallélisé).

• La rapidité : la structure distribuée d’Hadoop HDFS (hadoop data file system) permet de localiser et de récupérer la donnée où qu’elle se trouve. Ainsi, Hadoop permet de traiter des requêtes en quelques minutes sur des téraoctets de données et sur des pétaoctets en quelques heures.

• La flexibilité : un des grands intérêts d’Hadoop est de pouvoir stocker et analyser aussi bien des données structurées que des données non structurées, et ceci de la même manière ! Ainsi, il devient possible d’analyser et de croiser des bases de données et des données digitales.

• La robustesse : map reduce d’Hadoop n’est pas sensible à la panne d’un serveur du cluster. En d’autres termes, le framework Hadoop se comporte de la même façon même en cas de pannes de serveurs.

La nouveauté de l’année 2013 – finie la frontière entre streaming et batch

Rentrons maintenant plus au cœur d’Hadoop avec un peu plus de détails.

Malgré tous ces avantages, Hadoop est toujours en pleine mue pour être encore plus efficace. En effet, l’un des plus grands inconvénients d’Hadoop réside dans la latence des traitements. Le fait que toute requête utilise le map reduce (mapper les données et les réduire en exploitant l’ensemble des serveurs), il existe un temps de latence incompréhensible qui dépend aussi du nombre de serveurs sollicités.
Après ce constat, des travaux ont été réalisés. En 2012, nous avions découvert Impala qui permettait de faire du temps réel, au détriment du cinquième avantage à savoir la robustesse. En 2013, plusieurs innovations sont apparues. Tout d’abord pour améliorer l’allocation de ressources, le map reduce de nouvelle génération (v2 ou encore appelé YARN), tant attendu, est devenu disponible. L’architecture Hadoop se trouve un peu changée avec l’arrivée du Ressource Manager qui a pour mission de gérer l’ensemble des besoins des Applications Master. Mais le meilleur reste à venir.

En novembre 2013, Cloudera annonce supporter via sa distribution le projet Spark. Spark est un framework d’Apache de type map/reduce (data-processing) qui s’interface avec Hadoop HDFS et permet d’exploiter plus efficacement les serveurs surtout sur des requêtes itératives qui sollicitent les données à plusieurs reprises. Et pour le bien de tous, Spark permet aussi de simplifier les codes map/reduce. Pour les initiés, le fameux traitement « wordcount » se code en 3 lignes sur Spark !

Cette prouesse n’est pas seulement technologique, elle risque de changer aussi notre façon d’architecturer les données. Aujourd’hui, dans les entreprises, différentes architectures de données sont mises en œuvre pour gérer d’une part les besoins en temps réel (« streaming ») et d’autre part les besoins en mode batch (type Business Intelligence traditionnelle). Grâce à Spark, les deux architectures peuvent maintenant être conciliées, ce qui permet de faire des économies en termes de déploiement, de maintenance et en termes de code applicatif. Cette conciliation d’architectures permet aussi d’accélérer une culture d’entreprise basée sur la donnée.

L’uniformité des architectures batch et des architectures temps réel constituerait-elle la prochaine avancée du Big Data ?



Dans la même rubrique :