Les impacts du Big Data vont bien au-delà des applications web ou informatiques. La capacité de stockage et d’analyse des données dûe à l’émergence de nouvelles technologies de traitement et d’analyse de l’information nous permettent de toucher du doigt et d’accélérer les recherches dans tous les domaines : médical, pharmaceutique, informatique, bancaire ou électromécanique (Internet des Objets, automobile etc…).
Qu'est-ce que le Big Data ?
Le concept de Big Data est apparu pour faire face à l’augmentation croissante du nombre de données. Aujourd’hui en effet, les volumes de données sont très conséquents et il est impératif de trouver des solutions de stockage et d’analyse adéquates. Le Gartner donne une vue très mnémotechnique du concept du Big Data, qui répond à la problématique des 3V : volumes de données, variété des données (multi-source) et vélocité en termes de collecte des données, stockage et analyse. Et qui dit apparition d’un nouveau concept dit aussi création de nouvelles technologies. Ce sont les mastodontes du web comme Google, Yahoo ou Facebook qui ont été à l’origine de la création de ces nouveaux outils.
Comment a émergé le Big Data ?
Trois grandes évolutions techniques ont permis la création et la croissance du Big Data :
- L’évolution du hardware de stockage capable de stocker de plus en plus de données, passant de serveurs physiques internes à l’entreprise à des serveurs dit “cloud” qui ont souvent une capacité de stockage bien supérieure.
- Le second point est une remise en cause du modèle matériel existant, celui où il fallait acheter le plus gros serveur possible. Aujourd’hui, la nouvelle évolution consiste à mettre en série des petits serveurs remplaçables et de créer un système distribué résistant aux pannes. Ce paradigme a été popularisé par Google au début des années 2000 et est à l’origine de la première version open source du premier framework Big Data sorti il y a 10 ans : Hadoop.
- La troisième révolution s’est amorcée en 2009 et est l’explosion des outils d’analyse, d’extraction et de traitement des données de manière non structurée que cela soit du NoSQL ou de nouveaux frameworks lié à l’écosystème de Hadoop.
Les bases de données classiques ne permettant plus de gérer de tels volumes, les grands acteurs du web (Facebook, Google, Yahoo, Linkedin, Twitter) ont créé des Framework Big Data permettant de gérer et traiter des grandes quantités de données à travers, par exemple, des lacs de données. Ces données sont ensuite “splittées” ou séparées pour être traitées parallèlement afin d’alléger les processus de calcul (dans l’ancien modèle, les traitements étaient fait les uns après les autres, dans un stack), puis réassemblées pour donner le résultat final. C’est cette technologie qui permet des vitesses de traitement aussi rapides sur de gros volumes de données. Au départ développée par Google, elle est maintenant sous le drapeau Apache et s’appelle Map Reduce.
A quoi sert le Big Data ?
Aujourd’hui, les applications du Big Data se sont largement développées pour répondre aux besoins évoqués ci-dessus. Naturellement, vous vous demandez « le Big Data c’est pour faire quoi ? » Et bien c’est simple, aujourd‘hui il permet de répondre à plusieurs problématiques comme l’analyse prédictive et plus particulièrement dans le cadre de maintenance préventive ou encore de prédiction des ventes et gestion des stocks. L’analyse des données en temps réel est aussi une des applications du Big Data.
Il existe donc plusieurs technologies Big Data répondant à ces besoins.
Apache Hadoop
La première et la plus répandue des solutions est bien évidemment Apache Hadoop, un framework largement utilisé aujourd’hui pour traiter de très gros volumes de données. Hadoop est composé de plusieurs éléments : un système de stockage (HDFS), un système de planification des traitements (YARN) et le framework de traitement (MapReduce). Un des cas d’utilisation les plus connus de Hadoop est le data lake.
Les traitements de type batch
Ils permettent de traiter les données jusqu’à leur épuisement à l’entrée du système. Les traitements sont continus et incrémentaux c’est-à-dire que l’architecture va à chaque fois prendre en compte les nouvelles données sans avoir à traiter à nouveau les anciennes. Pour avoir une cohérence dans le traitement de ces données, les résultats ne sont visibles et accessibles qu’à la fin du traitement (une fois qu’il n’y a plus de données à l’entrée). Il existe comme traitement Big Data de type batch Map Reduce dans sa version Hadoop ou encore Apache Spark.
Les traitements en temps réel (streaming)
C’est l’inverse des traitements de type batch. En effet, grâce à cette méthode, il n’est pas nécessaire d’attendre la fin de traitement des données pour accéder aux résultats. C’est une solution simple à mettre en œuvre et qui améliore les temps de traitement. Elles sont souvent utilisées comme bases pour implémenter des solutions évolutives.
Architecture Lambda
C’est un mélange entre batch et temps réel. En utilisant le traitement batch, cette architecture permet d’équilibrer la latence, le débit, et la tolérance aux pannes de systèmes en fournissant des vues précises sur les données qui sont simultanément confrontées à de la donnée en temps réel pour avoir des résultats plus précis.
Les bases de données NoSQL
Les bases de données relationnelles classiques servent à gérer les données qualifiées de l’entreprise mais ne sont pas habilitées à stocker de la donnée à grande échelle avec un traitement rapide. Les bases NoSQL apporte une nouvelle approche du stockage de la donnée plus flexible, plus adaptable aux évolutions et moins sensibles aux pannes de systèmes. NoSQL ne veut pas dire sans SQL mais « Not Only SQL ».
Les bases de données orientées colonne de type Cassandra et Hbase
Ce sont des systèmes de base de gestion de données. Ce sont des bases de données très performantes dans la lecture et l’écriture de gros volumes de données. Ce type de base sera capable d’assumer des montées en charge progressives sans sacrifier les fonctionnalités existantes.
Le Cloud Computing
Ce n’est pas une technologie Big Data pure et dure, mais c’est la méthode de déploiement favorisée pour les technologies Big Data. En effet, celui-ci demande des capacités énormes de stockage et de traitement et le cloud est aujourd’hui le moyen le plus capable de supporter ces volumétries et à moindre coût comparé à une solution classique on-premise.
Les cas d'usage du Big Data
Le Big Data trouve des applications métiers très diverses, néanmoins certaines industries sont plus consommatrices de Big Data que d’autres.
L’assurance et la banque détiennent des records de données clients (en effet qui n’a pas de compte bancaire ou d’assurance voiture ?) Le Big Data donne la possibilité d’analyser les données clients (abonnements, désabonnements, lieux géographiques, variables culturelles, de genres et d’autres) afin de prédire les populations ou le profil type de client susceptibles de quitter la banque et ainsi faire le nécessaire pour faire baisser le taux d’attrition dans ces populations.
Les industries de l’aviation ou de la mécanique en général. Saagie réalise actuellement de la maintenance prédictive pour son client, pour prédire les moments de casse de pièces sensibles ou l’évolution de la détérioration de pièces indispensables pour le bon fonctionnement d’un avion, d’une voiture, d’un tapis de bagages et permet ainsi de lancer l’alerte et la commande de la pièce avant que celle-ci n’arrive à son terme.
Dans le domaine pharmaceutique et médical avec par exemple l’analyse de données mortes concernant des scanners de patients malades de cancer, le rassemblement de ces données, l’analyse des avis médicaux pour chaque cas et la mise en place d’une intelligence artificielle pour aider le médecin dans sa prise de décision, sur la base d’analyse de centaines de milliers de scanners et d’avis de centaines de médecins.
Le Big Data permet aussi d’optimiser de manière quantitative et qualitative le profil des patients tests dans l’industrie pharmaceutique, permettant de déterminer sur la base des données antérieures les profils types ayant le plus de probabilités d’aller au bout des tests médicamenteux. C’est une problématique d’autant plus importante que cela retarde grandement la mise en production effective ou non des médicaments.
Le futur du Big Data
L’industrie technologique du big data étant une industrie très récente, les systèmes de traitement des mégadonnées et de stockage sont en perpétuelle croissance. Nous assistons à une apparition et disparition des technologies, à vitesse impressionnante. L’algorithme MapReduce apparut chez Google en 2004 et est largement utilisé aujourd’hui, notamment par Yahoo dans son projet Nutch, il est passé en 2008 sous le drapeau Apache pour créer Hadoop et voit son utilisation délaissée pour des raisons de “lenteur” de traitement, visible même sur des mégadonnées de tailles modestes.
A partir de la version 2 de Hadoop, l’architecture a été rendue modulaire et permet d’accepter de nouveaux modules de calcul (Hadoop File System – HDFS). Map Reduce est l’un deux. C’est ainsi que Spark, bien plus jeune que MapReduce, reprend peu à peu le flambeau de son aîné, cet outil est aussi développé sous l’écusson de la maison Apache. Spark pouvant être exécuté au-dessus de Hadoop et de nombreuses bases NoSQL. Projet qui a connu ces dernières années un essor rapide et a reçu l’approbation d’une grande partie de la technosphère des développeurs.
Les acteurs du Big Data
Google et Facebook on très tôt été confronté à des problématiques de volumétrie de leurs données, c’est donc tout naturellement que ce sont aujourd’hui deux acteurs structurants du Big Data. Ils sont de ce fait les plus à-mêmes de traiter correctement et rapidement ces volumes de données.
Dès le départ le Big Data a su intéresser les géants du secteur informatique, les éditeurs de logiciels, les intégrateurs historiques de software sur les serveurs d’entreprises. Les “early adopters” du Big Data sont, par exemple, Oracle, SAP, IBM ou encore Microsoft, qui, voyant le potentiel de ce marché se sont lancés certes un peu plus tard que Google et Facebook, mais profitent toujours de la vague de croissance du Big Data. Un zoom sur les plus gros acteurs Big Data en 2016:
Hortonworks, Cloudera et Mapr
Ce sont les éditeurs des distributions Big Data. Cloudera compte parmi son équipe un des créateurs de Hadoop Doug Cutting. Hortonworks est un spin off de Yahoo et a le positionnement le plus open source. Mapr a une autre approche, les moteurs de stockage et de calculs ont été refaits mais les API de Hadoop ont été conservés pour assurer la compatibilité avec l’écosystème et l’existant.
Google est et reste le poids lourd et le précurseur des technologies Big Data avec par exemple le développement de MapReduce dès 2004. Google utilise largement sa technologie pour ses algorithmes d’indexation sur les moteurs de recherche, Google Translate ou encore Google Satellites, en utilisant notamment des fonctions de load balancing, de parallélisations et de récupération en cas de pannes serveurs. Google n’utilise quasiment plus le MapReduce et s’oriente très fortement sur le streaming (traitement temps réel). Google a aussi mis à disposition la version open source de Google Data Flow avec Apache Beam.
Amazon
Amazon est devenu en quelques années un des leaders du Big Data en proposant Amazon Web Service depuis 2009, avec le développement d’une technologie très similaire à celle de Google, nommée Elastic MapReduce et qui a en plus l’avantage d’explorer les données indépendamment de l’installation, de la gestion ou de l’ajustement des clusters Hadoop. L’avènement du Cloud Computing lancé par Amazon, lui permet aussi d’étendre un peu plus son terrain sur le Big Data, le démocratisant massivement. Le défaut d’Amazon est qu’il propose des API et moteurs propriétaires et que la stratégie de sortie et de migration est coûteuse.
IBM
IBM comme beaucoup d’autres grands acteurs du web s’est lancé dans l’aventure, intégrant dans ses services des briques de traitements liées à Hadoop et MapReduce.
ODPi
L’Open Data Platform Initiative réunit Hortonworks, IBM, Pivotal pour tenter d’établir des standards sur la mise en place de plateformes Big Data. L’objectif est que les entreprises utilisatrices puissent avoir des garanties de réversibilité. L’initiative n’est pas encore un succès. En effet, deux poids lourds du secteur n’ont pas rejoint l’initiative (Cloudera et Mapr).