L’intérêt autour du Big data ne faiblit pas, comme le démontrent les nombreuses publications que l’on peut trouver sur le sujet. Souvent abordé dans la presse sous l’angle business pour vanter les nouveaux apports métiers (optimisation de la relation client, des ventes…), ou au contraire focalisé uniquement sur une nouvelle technologie, il n’est pas facile de se forger une vision d’ensemble de l’architecture sous-jacente. Démystifions ici cette complexité apparente, en reposant les principes de fonctionnement des architectures Big data et les bonnes pratiques pour construire le socle technologique optimal.
Le Big data en 5 grands modules d’architecture fonctionnelle
D’un point de vue fonctionnel, nous pouvons découper les architectures Big data en cinq grands modules :
1. Collecte : ce module vise à récupérer les données à transmettre aux unités de transformation et d’analyse. La collecte peut se faire par lot ou en temps réel sur des données internes ou externes à l’entreprise.
2. Transformation : il s’agit ici d’extraire les informations utiles des données peu ou non structurées. En les interprétant pour les rendre exploitables et cohérentes, notamment via la constitution d’un catalogue de métadonnées. Cette étape n’est pas obligatoire pour les données déjà structurées.
3. Analyse : alors que la « transformation » se focalise sur l’enrichissement des données de manière unitaire, l’unité d’analyse va de son côté créer de nouvelles informations par identification, corrélation, agrégation ou projection de l’ensemble des données précédemment transformées. Tout comme pour la « collecte », ces analyses peuvent être effectuées par lot ou en temps réel.
4. Restitution : l’objectif de ce module est de permettre la visualisation des analyses et l’exploration des données.
5. Stockage : capable de stocker de très gros volumes de données structurées et non structurées, ce module est généralement sous-découpé de la façon suivante :
- Lac de données permettant d’héberger les données brutes ;
- Entrepôt de données stockant les données issues de la transformation ;
- Cache d’analyse permettant d’accélérer les traitements en vue de la restitution.
Quels critères adopter pour construire le socle technologique ?
Les modules fonctionnels de l’architecture étant posés, quelle stratégie adopter pour bâtir le socle sous-jacent ? Le Big data invite justement à l’adoption d’un triptyque gagnant pour bien choisir les outils :
- Élasticité : opter pour des outils capables de maximiser l’utilisation des ressources mises à disposition et les possibilités de scalabilité horizontale : facilité d’ajout de nœud de stockage et de calcul. Il faudra aussi que ces outils soient indépendants vis-à-vis des technologies de stockage (SAN, NAS, DAS) ou de serveurs (x86, AIX, …).
- Polyvalence : choisir des outils permettant d’intégrer des sources de données multiples. Les données peuvent être structurées (base de données, XML …), semi structurées (e-mail), non structurées (vidéo, image), internes à l’entreprise ou externes (sites web, réseaux sociaux, open data…).
- Réactivité : les outils à sélectionner devront pouvoir réduire au maximum le time to market. Il est en effet important de pouvoir déployer de nouveaux traitements et optimiser leur distribution entre les nœuds de calculs.
Et si les nouvelles technologies n’étaient pas une fin en soi ?
Les technologies spécifiquement adaptées pour adresser des problématiques purement Big data ne s’opposent pas à l’outillage existant. L’implémentation du module de « collecte », pourra par exemple tirer partie des ETLs et celle de restitution s’intégrer aux outils de type tableaux de bord déjà utilisés. La partie « stockage » quant à elle pourra s’appuyer sur les infrastructures matérielles n’étant plus utilisées en production, mais toujours présentes au sein de l’entreprise.
La réutilisation de ces technologies permettra aux équipes de focaliser leur montée en compétences sur le module de « transformation » et plus particulièrement sur celui d’« analyse », porteurs de la valeur ajoutée, ces derniers étant également plus complexes à mettre en œuvre
Pour implémenter ces deux modules, qui ne peuvent être réalisées à l’aide d’un outillage classique lors de la mise en œuvre d’une architecture Big Data, le framework Hadoop s’avère bien utile. C’est ce que nous découvrirons dans un prochain article.