Aujourd’hui le big data est partout, l’idée derrière cet article est de clarifier un certain nombre de points que j’entends quasi quotidiennement sur le big data. Est-ce une révolution, un terme hype, une tendance lourde, un simple buzz-word ? Je dirais que c’est un peu tout à la fois et je vais vous expliquer pourquoi.
Big data (ou données massives, moins sexy pour les francophones) c’est surtout un terme qui a permis de mettre en avant comme jamais l’importance de la data dans notre quotidien. Notre quotidien professionnel bien sûr mais aussi notre vie de tous les jours et notre vie de citoyen.
Big data ou le culte de la data
Le terme big data a fleuri ces dernières années dans tous les recoins de nos sociétés. De la médecine aux transports, du marketing aux administrations, de nos loisirs à notre nourriture… Mais derrière cette « révolution », on parle bien plus souvent de data que de big data.
Cette data qui est partout et qui doit être l’un des moteurs de la révolution numérique (c’en est déjà un pour les GAFA et autres licornes) doit être domestiquée et surtout analysée. Car la data pour la data n’est qu’un leurre qui n’apportera aucune valeur à notre société.
Donc le big data aujourd’hui, c’est l’art de récupérer, stocker, traiter et analyser les données afin de prédire et d’aider chaque entreprise, chaque citoyen à prendre des décisions guidées par les données (data-driven).
Vous me direz : « Traiter des données, on fait ça depuis bien longtemps, on appelait ça de la statistique, puis de l’analyse de données et plus récemment du data mining, alors qu’est-ce qui change ? »
En fait tout et rien. Rien dans le sens où il s’agit d’extraire de l’information de données . Tout dans le sens où on travaille dans un autre contexte avec une autre masse de données, d’autres contraintes de vitesse et de nouvelles structures de données. Ces 3 points changent beaucoup de chose dans l’analyse de vos data.
Si vous êtes habitué aux concepts du big data, vous aurez reconnu les 3 V du big data et ces 3 V impliquent des changements radicaux à tous les niveaux du traitement des données.
Que ce soit des logs de sites web, des données non structurées issues des réseaux sociaux, de bases issues de l’open data ou de simple données obtenues par des outils de CRM, on se retrouve aujourd’hui rapidement dans in contexte où le volume, la variété et la vitesse sont des points clés dans le traitement de la données.
Big data, des différences à tous les niveaux
La récupération des données
Le big data change la donne, jusqu’ici on avait de la donnée chère et peu nombreuse (avec l’utilisation de l’échantillonnage et l’analyse d’échantillons de la population). Avec le big data, on veut de la donnée très peu coûteuse en quantité astronomique et pour ça on utilise des systèmes automatisés pour récupérer les données. Ainsi , les outils pour récupérer les données des réseaux sociaux fleurissent, les outils de récupération de logs sur le web aussi et finalement tous les senseurs permettent aujourd’hui de récupérer des masses de données de manière extrêmement rapide.
Ces nouveaux usages demandent de nouveaux outils, des réseaux efficaces et suffisamment puissants pour récupérer toutes ces données en temps réel (si nécessaire).
Le stockage des données
La grande révolution technique du big data c’est la mise en place de systèmes de stockages distribués avec de nouvelles structures de stockage.
La quantité de données amassée a très vite montrée qu’il était impossible de stocker toutes les données sur une machine ou un serveur, il fallait des solutions alternatives. C’est ainsi qu’a été développé Apache Hadoop afin de gérer un stockage distribué dans des clusters comportant des milliers de machines (noeuds) . Mais cette nouvelle structuration demandait d’abandonner les bases de données relationnelles classiques et d’accepter de relâcher certaines hypothèses liées à ces bases. D’où la naissance des bases de données NoSQL (pour not only SQL).
Une fois les données stockées dans des clusters Hadoop, il reste une grande partie du travail à effectuer.
La préparation des données
Les données récupérées sont souvent très brutes, c’est la contrepartie au faible coût des données. Il faut donc travailer sur ces données. Pour cela, on utilise des requêtes MapReduce qui permettent d’effectuer des requêtes sur les données stockées dans tous les noeuds du cluster.
La structure des requêtes mapreduce devient de plus en plus complexe si on essaye de faire des requêtes plus avancées. Pour cela, on utilisera des langages de plus haut niveau tel que Pig latin ou Hive. On pourra alors se rapprocher des requêtes SQL afin de travailler sur les données, les enrichir et les nettoyer.
L’analyse des données
Une fois les données préparées (ce qui est le plus gros du boulot), un autre terme très utilisé apparaît, il s’agit du machine learning (apprentissage automatique). Il s’agit en fait d’algorithmes permettant d’explorer les données massives en « apprenant » avec les données. Je ne développerai pas ces concepts ici mais dans un autre article.
Afin de mettre en production des algorithmes de machine learning, plusieurs possibilités s’offrent à vous :
- utiliser un langage comme python pour effectuer des analyses sur des extraits de données (on utilisera des bibliothèques comme scikit-learn)
- utiliser le framework Spark et sa bibliothèque MLlib pour faire du machine learning sur des données in memory (chargées sur la mémoire RAM des machines de votre cluster). Voir mon article sur Apache Spark.
Ces différentes options permettent de faire ressortir des informations souvent pertinentes de vos données.
Si vous voulez vous former sur les principes du big data, sur les technologies disponibles ou sur la machine learning, contactez-nous info@stat4decision.com ou consultez nos formations.
Partager cet article