Comment réussir un projet « Big Data » ?

DidierLavoine-DigoraAvis d’expert par Didier Lavoine, Directeur Technique de Digora

Le « Big Data » figure en tête de l’agenda des entreprises, sur un marché qui progresse de 25 % par an selon le cabinet d’étude IDC. Cet engouement peut laisser penser que de tels projets se mettent en œuvre aisément. Il n’en est rien et les entreprises en sont bien conscientes, en particulier en ce qui concerne les aspects techniques et les infrastructures. Plusieurs études (1) le révèlent, ce sont là les obstacles les plus redoutés par les entreprises.

Maîtriser la collecte des données et agréger de multiples formats

Les projets « Big Data » reposent sur deux processus complexes. Le premier consiste à agréger et corréler de multiples sources de données, internes ou externes à l’entreprise. Celles-ci peuvent provenir du système d’information existant (bases de données relationnelles, fichiers Excel…), des bases de données de revendeurs spécialisés, des réseaux sociaux, des messageries, du Web, ou de « l’Open Data » (par exemple data.gouv.fr)…

Une complexité supplémentaire est liée au fait que des données structurées, dont les formats sont exploitables directement, coexistent avec des données non structurées (par exemple issues de fichiers Word, de PDF, de tweets, de vidéos ou de mails…) a priori plus difficiles à gérer, car il faut les transformer.

Le second concerne le traitement de l’information : en effet, les données doivent être successivement collectées, stockées, traitées puis visualisées par ceux à qui elles sont destinées. Ce processus, qui va de la matière première (la donnée) à son utilisation pour la prise de décision, doit reposer sur des technologies et des infrastructures éprouvées et robustes.

Adapter le stockage des données : le noSQL s’impose en complément du SQL

Un projet « Big Data » va donc consister à traiter ces aspects : il ne peut réussir que si les infrastructures sont adaptées, en particulier pour le stockage et le traitement des données.

Côté stockage, l’évolution porte sur les nouveaux « file system », le stockage distribué s’est imposé pour étendre ses performances et les capacités de stockage, il est largement utilisé par Amazon, par exemple.

La composante « bases de données » est, elle aussi, fondamentale. Les bases de données relationnelles, approche historique pour organiser les données, ont vu apparaitre des bases noSQL (not only SQL). Dans les projets « Big Data », elles ont par exemple pour noms : Cassandra, CouchBase, MongoDB… Ces bases de données NoSQL recouvrent quatre grandes approches : les bases de type clé-valeur (on accède à chaque donnée à travers une clé), les bases en colonnes (les données ne sont plus stockées enregistrement par enregistrement, mais sous la forme de colonnes), les bases en graphes (les données sont stockées sous la forme de graphiques en réseau) et les bases orientées documents, pour stocker des données semi-structurées de manière moins rigide que dans les bases relationnelles, qui imposent des schémas très normalisés.

À l’origine, les bases de données NoSQL ont été conçues pour les grandes plateformes web (Google, Amazon, Facebook, Yahoo) pour couvrir leurs besoins de bases de données très étendues, avec une « scalabilité » et des performances accrues.

Optimiser le traitement des données : la pierre angulaire Hadoop

Côté traitement des données, c’est « Hadoop » qui s’impose. Il s’agit d’un « framework » open source destiné à l’analyse répartie de grands volumes de données, structurées ou non. 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 ». « Hadoop », composé d’un système de fichiers distribué, d’outils de planification des traitements et d’algorithmes de traitement en parallèle des données, constitue donc la pierre angulaire des projets « Big Data ».

L’analyse des données peut s’appuyer sur les algorithmes de « Map/Reduce », pour paralléliser les traitements de grandes quantités de données, distribuées au sein d’un cluster de nœuds. Lorsque ces données sont traitées, il convient de les restituer à l’utilisateur, le plus souvent sous forme de graphiques, grâce à des solutions de visualisation.

Avec une pertinence dans la collecte des données, une homogénéité de l’infrastructure de stockage et une cohérence du traitement des données, les projets « Big Data » seront un succès. Ces conditions de réussite, nous les avons résumées en dix recommandations (Cf. encadré ci-dessous). Elles doivent inciter les utilisateurs à demander davantage de volumes à traiter, davantage de sources de données à intégrer, et en temps réel… Ce qui rendra encore plus crucial la qualité des infrastructures…

(1) Etude Opinion Way « Les entreprises et la Big Data », juillet 2015 et étude Vanson Bourne « The State of Big Data Infrastructure Management », avril 2015.

décembre 11th, 2015 by