Big data : que devez-vous apprendre ? Petit guide à l'usage du débutant

Big data : par quoi commencer ?

On dit partout que c’est l’avenir, qu’il faut se mettre aux big data. Le plus vite possible.
Très bien. Mais donc, par quoi commencer ? Que faut-il apprendre en urgence ? A quoi faut-il se former pour devenir un maître du Big Data ?

Plutôt que de proposer ici un inventaire à la Prévert de formations-types, avec des titres qui entretiendront ce sentiment de mots-clés à la mode, nous avons préféré vous raconter l’histoire des Big data. Comment et pourquoi en est-on arrivé là ?

D’où vient ce terme et à quels développements technologiques le monde du big data doit-il sont explosion ?

C’est en ayant une meilleure vision de ce que sont les big data que vous en déduirez vous-même ce qu’il faut chercher à apprendre pour devenir un as du sujet, et plus particulièrement ce que vous devez apprendre vous-même.

Big data : quelle différence avec l’analyse de données ?

Première question, celle qui permet de comprendre la nouveauté de cette affaire.
Quelle est la différence entre le big data et la bonne vieille analyse de données et les cours de statistiques que l’on avait en terminale – et parfois au-delà ?

En fait, la nouveauté vient d’internet et du fait que toutes les données sont produites désormais instantanément de toutes parts.

Selon IBM, l’espèce humaine produit 2.5 quintillions (25 milliards de milliards) bits de données  chaque jour, en mangeant, dormant, jouant, travaillant, etc.
C’est l’équivalent de 2 piles de DVDs posés les uns sur les autres dont la hauteur va de la terre … à la lune !
Sachant donc, que ces DVDs contiennent tout, des textes que nous envoyons, aux photos que nous prenons en passant par les données de tous les capteurs industriels et des machines qui communiquent entre elles, voilà qui explique pourquoi les data (données) sont devenues, dans le langage courant, à ce point “big”.

Et donc, quand les gens parlent de ces big data, ils pensent généralement au fait que l’on va prendre une grande partie de ces données, les analyser et en déduire quelque chose d’intéressant.

En fait, c’est beaucoup plus que cela.

Le big data, c’est beaucoup plus que cela.

Le big data, cela consiste aussi :

  • à prendre de grandes quantités de données de sources différentes,
  • à utiliser ces données de natures très différentes, produites selon des rythmes différents sans avoir forcément besoin de les “traduire” dans des formats spécifiques.
  • à stocker ces données de sorte qu’elles puissent servir en même temps à tout un tas d’analyses différentes correspondant à des objectifs différents.
  • et à faire tout cela très vite, et même parfois …. en temps réel.

Au tout début, on a parlé des 3V ou VVV : volume (grandes quantités), variété (différents types de données) et vélocité (rapidité de traitement).

Quelle différence entre l'analyse de données et le big data ?

Big data vs.  data warehouse

Ce que l’acronyme VVV ne mettait pas en perspective, en revanche, c’était cette innovation centrale qui veut que les données n’ont pas besoin d’être systématiquement “transformées” pour être analysées.

Ce traitement “non-destructeur” signifiait que les organisations pouvaient désormais analyser les mêmes lots de données pour différents objectifs et pouvaient récupérer ces données de sources qui elles-mêmes les avaient collectées pour des objectifs encore différents.

Apparaissait donc une nouvelle approche, très différente de  celle que l’on connaissait à ce moment-là autour du data-mining et des data warehouses.

La data-warehouse classique était conçue pour un objectif donné. La donnée y était structurée et convertie à des formats précis. La donnée initiale étant forcément détruite dans le process.

On parlait alors de process ETL : “extract, transform and load”.

L’approche ETL est donc limitée à des analyses spécifiques pour des données spécifiques. C’était parfait si toutes vos données existaient dans votre système de transaction. Mais ce n’est plus si terrible que cela, quand on sait toutes les données qui existent çà et là dans notre monde hyper-connecté, produisant tous ces quintillions de données évoquées ci-dessus.

Voilà donc une des premières choses à apprendre dans le monde du big data : 
– regarder au dehors, se demander quelles sont les données disponibles en dehors du système initial de votre organisation.
– regarder notamment les données accessibles à tous, les fameuses open-data
– se demander comment on pourrait les connecter, les croiser, ce que nous apprendraient ces données avec celles dont on dispose déjà.

La fin des data warehouses ?

Ne croyez pas pour autant que les big data rendent les data warehouse obsolètes. Les systèmes de big data vous amènent à travailler avec des données non structurées, mais le type de résultats de requête que vous obtenez est loin de la sophistication des data warehouses.

La data warehouse est conçue pour une analyse en profondeur de la donnée, et cela est rendu possible précisément parce que la donnée a été transformée et prévue dans un format spécifique.

Les fournisseurs de data warehouses ont travaillé des années à optimiser leurs moteurs de recherche pour répondre aux attentes typiques d’environnements de business spécifiques.

Si vous-même ou votre organisation est spécialiste de la chose, ne  vous sentez surtout pas en retard ou dépassé. On ne parle pas en fait exactement de la même chose.

Le big data vous permet d’analyser beaucoup plus de données de beaucoup plus de sources, mais avec une résolution moins fine.

Le big data est un monde impressionniste qui aura toujours besoin à ses côtés de l’hyper-réalisme des data warehouses.

C’est pour cela que nous sommes condamnés à vivre à la fois avec les data warehouses traditionnelles  et ce nouveau style de traitement que sont les big data.

Le big data ne consiste donc surtout pas à désapprendre ce que l’on a appris en se formant au data warehouse. Le data scientist n’a pas forcément vocation à prendre la place de l’ingénieur en informatique décisionnelle.

Il faudra au contraire que l’entreprise se pose la question de comment faire en sorte que les deux s’enrichissent mutuellement. Et cela aussi doit s’apprendre et s’étudier.

Le big data annonce-t-il la fin des data warehouses ?

Les percées technologiques derrière les big data

Voilà pour le versant philosophique et organisationnel. 

Mais il y a aussi la dimension technologique. Là encore, les big data reposent sur une révolution qu’il faut avoir comprise. Et à laquelle il faut s’adapter par des formations et des apprentissages ad hoc. 

A la différence des 3V, le big data, c’est 3V+1U : volume, variété, vitesse et en plus : un usage non destructif de la donnée.

Pour obtenir cela, il a fallu réussir des challenges technologiques.

En premier lieu, le développement de systèmes d’informatique distribués : c’est le domaine d’Hadoop, par exemple.

Il a fallu également une méthode qui permette de mettre en perspective des données disparates : c’est le territoire de Google’s MaReduce ou plus récemment Apache Spark

Il a fallu enfin un principe d’infrastructure cloud/internet pour accéder aux données et les utiliser comme on le souhaite.

Jusqu’à douze ans derrière nous, il était impossible de manipuler des volumes de données tels que ceux dont on a besoin aujourd’hui.
A l’époque, nous avions certes le sentiment  que ces volumes de données étaient énormes et que  nos data warehouses permettaient des traitements massifs.

Mais les limites de ces dispositifs de l’époque en termes de localisation et de stockage, de puissance de calcul et l’impossibilité de traiter des données de natures différentes ne permettaient pas de faire face au nouveau contexte : celui d’un monde où, grâce à internet, on produit et on interconnecte des données partout, dans tous les sens et à tout moment.

Map Reduce

Autour de 2003, les chercheurs de Google ont alors développé MapReduce.

Cette technique de programmation simplifie le traitement d’ensembles de données en commençant par réduire les données à des séries de couples “clé/valeur”, puis en procédant à des calculs sur les données possédant des clés similaires, afin de tout réduire à une valeur unique. Chaque “gros morceau” de données pouvait ainsi être traité en parallèle sur des centaines voire des milliers de machines peu coûteuses. Cette technique de traitement en parallèle sur des échelles massives a permis à Google de générer des résultats de recherche sur des volumes de données incroyablement plus grands qu’avant, et ce, en allant plus vite.

Google est à l’origine des deux percées technologiques qui ont rendu les big data possibles :

Le premier était Hadoop, qui consiste en deux services clés :

  • un système de stockage de données, utilisant HDFS (Hadoop Distributed File System)
  • un système de process de données en parallèle, utilisant une technique appelée Map Reduce.

Hadoop fonctionne sur un ensemble de serveurs en architecture shared-nothing.

On peut ajouter ou enlever des serveurs à volonté dans un cluster Hadoop. Le système détecte et règle les problème sur chaque serveur. Hadoop, en d’autres termes, “s’auto-guérit”. Il peut donc continuer à délivrer des données et fonctionner à grande échelle en effectuant des tâches exigeant de hautes performances, malgré des changements ou des échecs.

Sa véritable valeur ajoutée est cependant encore ailleurs : elle provient de adds-on et de compléments personnalisables de sa technologie. Hadoop offre ainsi des projets supplémentaires qui ajoutent des fonctionnalités à la plateforme :

  • Hadoop Common: il s’agit des outils de base nécessaires aux autres projets Hadoop
  • Chukwa: un système de récupération de données pour gérer les systèmes distribués de grande taille.
  • HBase: une base de données distribuée, scalable qui supporte le stockage de données structurées pour de grandes tables.
  • HDFS: un système distribué qui procure des accès haut débit aux données d’application
  • Hive: une infrastructure de data warehouse qui délivre de la data summarization et un système de requêtes ad hoc.
  • MapReduce: un framework logiciel pour les process distribués de sets de données importants
  • Pig: un langage et un framework permettant l’exécution de process parallèles.
  • ZooKeeper: un service de coordination haute performance pour les applications distribuées.

L’implémentation  d’une plateforme Hadoop comprend forcément quelques un de ces sous-projets.

Par exemple, de nombreuses organisations choisissent d’utiliser HDFS comme système primaire de gestion de fichiers distribués et HBase comme base de données qui peut stocker des milliards de colonnes de données. Et le recours à MapReduce (ou Spark) va s’imposer ensuite presque de soi puisqu’il apporte la vitesse et l’agilité à la plateforme Hadoop.

Avec MapReduce, les développeurs peuvent créer des programmes qui traitent des volumes massifs de données non structurées en parallèle à travers un cluster de processeurs distribués sur des ordinateurs indépendants. Le framework MapReduce est scindé en deux espaces fonctionnels :

  • Map, une fonction qui répartit le travail à différents noeuds dans les grappes d’ordinateurs.
  • Reduce, une fonction qui rassemble le travail et résume les résultats dans une valeur simple.

Un des avantages primaires de Map Reduce est qu’il est “fault-tolerant” ou tolérant aux pannes.
Comment fait-il ? Il “monitore” chaque noeud (node) du cluster régulièrement. Celui-ci est supposé renvoyer périodiquement un travail complet avec des mises à jour des “status”. Si un noeud reste silencieux plus que nécessaire, un master node le signale et réassigne le travail à d’autres noeuds du cluster.

Construit à l’origine pour indéxer le moteur de recherche Nutch, Hadoop est maintenant utilisé dans tous les grands secteurs d’activité pour quantité de tâches big data.

En d’autres termes, grâce au système d’informatique distribuée HDFS et YARN (Yet Another Resource Negotiator), le logiciel permet à l’utilisateur de traiter des volumes de données gigantesques répartis à travers des milliers d’ordinateurs, exactement comme s’ils étaient une seule et même énorme machine.

Comment adapter cela à votre cas ? L’histoire de ces sauts technologiques s’impose forcément à votre organisation et à vous-même. 

L’informatique distribuée ne vous est pas suffisamment familière ? Il est urgent de mieux la comprendre et de vous y former, vous ou vos équipes. 

Quant aux outils, l’histoire d’Hadoop montre à quel point sa logique s’impose à l’univers Big Data. Son univers ne doit donc pas vous rester étranger. Songez-y.

Mais l’histoire n’est pas finie. 

En 2009, des cherchers de l’Université de Californie à Berkeley ont développé  Apache Spark , une alternative à MapReduce.
Spark procède à ses calculs en parallèle en utilisant du stokage in-memory, il est jusqu’à 100 fois plus rapide que MapReduce. Spark peut être utilisé seul ou à l’intérieur d’Hadoop.

Même avec Hadoop, il faut quand même un moyen de stocker et d’accéder aux données.

C’est typiquement ce à quoi servent des NoSQL database telles que Mongo DB, CouchDG ou Cassandra, spécialisées dans le traitement des données non-structurées ou semi-structurées et distribuées à travers de multiples machines.

A la différence de ce qui se passe dans les data warehouses, où des quantités massives de données sont envoyées vers un format unifié et sont stockées dans un data store unique, ces outils ne changent pas la nature ni la localisation de la donnée d’origine – les emails restent des emails, les données de capteurs restent des données de capteurs- et peuvent être stockés virtuellement n’importe où.

Reste un problème : disposer de quantités massives de données dans des bases NoSQL installées dans des clusters de machines n’est pas très utile tant que vous n’en faites rien.
C’est là qu’interviennent les analytics de big data.

Des outils tels que  TableauSplunk, et Jasper BI pour permettent de parser ces data pour identifier de patterns, extraire des significations et révéler de nouvelles perspectives.
Ce que vous en ferez ensuite dépendra de vos besoins.

Là encore, les compétences dans ces analytics sont particulièrement demandées. 
Cela fait partie des compétences à acquérir. 

Noter également que la maîtrise des bases NoSQL semble importante, voire indispensable. 
Connaître et maîtriser le NoSQL semble donc à ce jour indispensable à l’univers big data. Quoique… dans cet article, vous verrez que SQL revient en force dans l’univers big data. 

A suivre donc…

Besoin d’un diagnostic plus précis ?

Que devez-vous apprendre ?
Qui doit être formé à quoi dans votre organisation ?
Contactez-nous pour un diagnostic précis.

 

Source :   InfoWorld. Article rédigé par Galen Gruman ( Executive Editor ), Steve Nunez (Editor), Frank Ohlhorst et Dan Tynan .