Le big data et les technologies associées comme Hadoop ou l’analyse en mémoire ne constituent pas un monde à part dans les systèmes d’information. Ils représentent un gisement de valeur important pour les entreprises, néanmoins leur adoption n’est pas sans risques. A ce titre, l’intégration avec l’infrastructure et les outils décisionnels peut considérablement simplifier et faciliter ce type de projets en supprimant les principales barrières à l’entrée. Cet article montre comment la stratégie de SAS permet de répondre à ces enjeux.
Hadoop et les enjeux du big data
Dans les entreprises, le traitement de la donnée est en train de changer d’échelle. Le succès des médias sociaux, le développement des objets connectés et des capteurs intelligents, la dématérialisation de plus en plus poussée des échanges, tous ces phénomènes multiplient les sources de données potentiellement exploitables.
Face à cette masse de données, bien souvent non-structurées, les architectures décisionnelles classiques ont du mal à suivre et atteignent vite leurs limites. Les entreprises qui souhaitent explorer ces « big data » afin d’y trouver de nouveaux gisements de valeur se sont donc mises en quête d’autres solutions.
Parmi celles-ci, le framework d’analyse Hadoop est à l’heure actuelle l’une des options suscitant le plus d’intérêt chez les DSI. Dans une étude datant de 2013, le cabinet d’analystes Gartner souligne ainsi que « les organisations sont conscientes de la force que l’analyse basée sur Hadoop peut apporter aux programmes big data », en particulier quand ceux-ci concernent « des données faiblement structurées, du texte, de l’analyse comportementale ou qu’il s’agit de requêtes basées sur des notions de temps». Dans ce même rapport le Gartner a également estimé que d’ici 2015 près de 65% des applications analytiques avancées embarqueraient Hadoop.
Qu’est-ce que Hadoop ?
Hadoop est à l’origine un framework open source destiné à l’analyse répartie de grands volumes de données, structurées ou non. Il a été créé par Doug Cutting puis confié à la fondation Apache en 2009. Son architecture distribuée lui permet de bénéficier d’une vraie capacité à monter en puissance : Hadoop implémente en effet un ensemble d’algorithmes conçus pour répartir les traitements sur des grappes de serveurs, chaque nœud assurant une partie des calculs et du stockage. Il se différencie de ce fait des autres solutions positionnées sur le créneau du big data, dont la plupart reposent sur des architectures matérielles spécifiques de type appliance.
A l’heure actuelle, le projet Hadoop comporte trois grands modules :
- Hadoop Distributed File System (HDFS) est un système de fichiers distribué permettant d’accéder rapidement aux données. Il fournit par ailleurs des mécanismes de résilience et de résistance aux pannes grâce à la réplication des données sur différents nœuds du cluster.
- Hadoop YARN regroupe des outils de planification des traitements et de gestion des clusters.
- Hadoop MapReduce implémente des algorithmes de traitement en parallèle des données. Ceux-ci, inspirés d’un modèle mis au point par Google, permettent par exemple de trouver des amis ou de calculer le nombre moyen de contacts dans un réseau social, ou encore de traiter des données d’accès au Web pour analyser le trafic et les comportements.
A ceux-ci viennent s’ajouter un certain nombre de modules complémentaires, notamment Hive, qui permet d’interroger les données stockées dans Hadoop à travers HiveQL, un langage de requête proche de SQL, ou bien Spark et Tez, d’autres systèmes de traitement des données qui offrent une alternative à MapReduce.
Sur cette base, des acteurs ont choisi de bâtir des offres packagées destinées aux entreprises, ajoutant notamment des outils de gestion, de sécurité et de gouvernance et fournissant des services de support. Parmi ceux-ci figurent par exemple Cloudera, Hortonworks, MapR ou encore Pivotal.
Pourquoi ça intéresse les DSI ?
L’attractivité majeure d’une technologie comme Hadoop tient au fait qu’elle ne nécessite pas l’achat de matériel spécifique, fonctionnant sur des serveurs standard. Elle s’avère donc particulièrement séduisante face à d’autres solutions au coût d’entrée plus élevé, et devient encore plus compétitive dès lors qu’il s’agit de monter en puissance, tant au niveau des coûts de déploiement que de support.
Dans le même temps, Hadoop souffre également de quelques défauts. Ainsi, l’interrogation des données s’effectue pour l’essentiel sous forme de requêtes en mode batch. Même si les temps de traitement sont rapides, cela ne permet pas à l’utilisateur d’explorer les données de manière dynamique, à l’instar de ce que proposent par exemple les outils d’analyse visuels.
Par ailleurs, Hadoop ne propose pas à ce jour d’environnement de développement intégré pour simplifier l’écriture des requêtes. Il nécessite donc un bon niveau de compétences en programmation pour être pris en main, ce qui met de côté la majorité des utilisateurs métier.
Enfin, sur un plan plus large, Hadoop est une technologie jeune : son implémentation est à la portée d’une DSI capable d’y consacrer du temps, mais les compétences nécessaires pour le déployer et le mettre en œuvre sur une plus large échelle sont encore rares sur le marché.
Une enquête menée fin 2013 par IDC pour Red Hat auprès d’entreprises envisageant de déployer Hadoop vient corroborer ces constats.
Parmi les défis rencontrés dans ce type de projet au niveau applicatif, les décideurs IT interrogés citent en premier lieu la complexité de l’intégration des données et le manque de compétences.
Forces et faiblesses d’Hadoop
Forces |
Faiblesses |
– Performances – Coûts (d’entrée et de support) |
– Latence liée à l’exécution des traitements en mode batch
– Manque d’outils de requête et d’exploration – Manque d’outils de management et de gouvernance des données |
Opportunités |
Menaces |
– Analyse de données auparavant inexploitées car peu ou pas structurées.
– Stockage de données volumineuses |
– Rareté des compétences – Solution inadaptée aux utilisateurs métier |
Tirer parti d’Hadoop : quelle stratégie adopter ?
En tant qu’alternative aux entrepôts de données traditionnels, Hadoop est en train de devenir un composant incontournable des projets qui traitent de multiples sources de données. Les décideurs informatiques ont donc tout intérêt à s’y préparer dès à présent, risquant d’y être confrontés à plus ou moins brève échéance.
Adopter une démarche progressive permet de démarrer en douceur avec Hadoop. A travers les quatre étapes proposées ci-dessous, les équipes de la DSI peuvent prendre le temps de se familiariser avec la technologie tout en accompagnant sa montée en puissance.
- Evaluer la compatibilité de Hadoop avec l’infrastructure
Selon les analystes du Gartner, la première étape est de vérifier que les infrastructures actuelles sont compatibles avec Hadoop, sur le plan matériel mais aussi applicatif. En effet, il ne faut pas perdre de vue qu’Hadoop n’a pas vocation à fonctionner de manière isolée. Il est donc utile d’évaluer à travers un ou plusieurs projets pilotes comment il peut s’intégrer avec les autres bases de données et datawarehouses de l’entreprise.
- Tester différents scénarios
De multiples usages d’Hadoop sont possibles en fonction du contexte de l’entreprise. Dans une DSI en phase de découverte, Hadoop peut ainsi se positionner comme un moteur de calcul adossé à une base de données classique, notamment pour stocker des données non-structurées. Dans un second temps, il faut donc déterminer quels sont les scénarios les plus pertinents.
- Rechercher les fonctions analytiques susceptibles d’intéresser les utilisateurs métier
En parallèle du travail de débroussaillage mené par les équipes IT, le Gartner préconise côté métier de rechercher et d’identifier des projets Hadoop porteurs d’une forte valeur pour l’entreprise. Ce travail est l’une des missions des « data scientists », une nouvelle fonction en pleine émergence. A la croisée de l’informatique, de l’analyse statistique et de l’expertise métier, ces experts doivent connaître les différentes sources de données de l’entreprise et mettre à profit leurs compétences pour trouver de nouvelles façons de les exploiter.
- Industrialiser et outiller
Dès que les premiers projets intéressants sont identifiés et enclenchés, il est souhaitable de réfléchir à l’industrialisation et à l’outillage. En effet, il faut non seulement se conformer aux exigences de fiabilité et de robustesse en vigueur dans l’entreprise, mais aussi prendre en compte les besoins et les pratiques des utilisateurs métier en matière d’applications décisionnelles, un domaine en pleine évolution. Cela signifie réfléchir au choix de la distribution à adopter, à l’infrastructure matérielle à mettre en place, mais aussi aux modes d’accès et de consommation de l’information que l’on souhaite favoriser.
Six scénarios pour intégrer Hadoop et les entrepôts de données existants
Ces scénarios envisagent différentes possibilités pour combiner les environnements décisionnels classiques et les environnements big data. Les systèmes décisionnels classiques reposent sur des entrepôts de données (datawarehouses) alimentés à partir des données structurées issues des bases transactionnelles, et servant de source pour les applications de Business Intelligence (BI). Les systèmes de big data se caractérisent quant à eux par des sources de données non structurées qui alimentent un cluster Hadoop, lui-même servant de source pour les applications de big data.
- Scénario 1 : utiliser Hadoop comme une plate-forme intermédiaire de collecte et de préparation (staging) des données structurées entre les bases transactionnelles et les entrepôts de données.
- Scénario 2 : utiliser Hadoop comme plate-forme intermédiaire pour le traitement et la transformation des données structurées avant leur chargement dans les entrepôts de données, le cluster jouant alors un rôle proche des solutions d’ETL (extraction, transformation et chargement des données).
- Scénario 3 : utiliser Hadoop pour traiter et transformer des données à la fois structurées et non-structurées avant de les charger dans les entrepôts de données.
- Scénario 4 : utiliser Hadoop comme environnement pour archiver toutes les données (structurées, non-structurées, données des datawarehouses…) et comme source pour les applications big data (et pour les applications décisionnelles classiques si celles-ci ont été adaptées).
- Scénario 5 : utiliser Hadoop comme une source de données complémentaire, capable de stocker à la fois des données structurées et non-structurées et alimentant à la fois les entrepôts de données et les applications décisionnelles (si celles-ci ont été adaptées).
- Scénario 6 : faire d’Hadoop la base principale, stockant les données structurées et non structurées et alimentant l’entrepôt de données, les applications big data et les applications décisionnelles classiques.