Le terme Big Data
est à la mode et on a tendance à le mettre à toutes les sauces. Les
responsables marketing des éditeurs de logiciels, des sociétés de service et
des constructeurs affirment tous être experts en matière de Big Data et
proposent des produits Big Data. C’est un bon argument pour vendre des disques,
des serveurs, des logiciels de gestion des bases de données, des outils
d’analyse statistique, des services de cloud, …. Mais derrière tout ce battage
médiatique il y a une réalité qui se développe rapidement et qui va avoir des
conséquences importantes dans les années à venir.
Or, le
développement du Big Data soulève de nombreuses questions :
·
Est-ce une nouvelle informatique où
l’informatique classique recourant à de nouveaux outils ?
·
Assiste-t-on à l’apparition de nouvelles
architectures ?
·
Quelles sont leurs relations avec les anciennes
structures de données ?
·
Va-t-on assister à une multiplication du nombre de
stockages de données ?
·
Est-ce que ces nouveaux systèmes seront confiés
à de nouveaux professionnels : les data scientists ?
·
Dans ces conditions quel sera le rôle des informaticiens
classiques ?
·
….
Comme on le voit
le Big Data constitue une mutation importante du monde de l’informatique, des
systèmes d’information et des services d’information.
Les origines du Big Data
Le développement
du Big Data est dû à la conjonction de deux facteurs qui, depuis plus d’une
décennie, ont dominés l’évolution de l’informatique et qui expliquent les changements
actuellement constatés :
- La baisse des coûts de stockage sur disque.
On a assisté ces dernières années à une chute rapide de leurs coûts. Elle est
en grande partie permise par l’augmentation considérable de leur capacité de
stockage. En quelques années les capacités des disques 3,5 pouces sont passés
de 25 Go autour de l’an 2000 à un To ([1])
à la fin de la décennie et elle est aujourd’hui de 10 To. Ceci fait que le prix
du Go stocké est passé en 15 ans de 20 $ à quelques cents ([2]).
Malheureusement la vitesse rotationnelle des disques n’a pas augmenté dans les
mêmes proportions ce qui fait que le temps de latence pour accéder à une donnée
est resté élevé. Heureusement le développement des mémoires SSD (Solid State
Drive) règle ce problème avec un temps d’accès à une donnée qui est passé de 10
millisecondes dans le cas des disques durs à moins de 70 microsecondes (soit
0,07 milliseconde) dans le cas des mémoires flash. On est dans un rapport de 1
à 100. Les capacités de stockage de ces systèmes à base de mémoire électronique
est passé en quelques années de quelques dizaines de Go par système à 1 To pour
un prix stable de l’ordre de 200 $ soit 20 cents le Giga-octets.
- L’augmentation de la capacité des bases de
données. Pendant longtemps elles étaient limitées à quelques millions
d’occurrences. Si on avait besoin de stocker plus d’éléments il fallait
segmenter cette base en plusieurs sous-bases. C’était une galère pas
possible ! Chaque requête devait être dupliquée en autant de bases
existantes et le résultat de chaque base devait être consolidée en un seul
ensemble. En 2000, une petite société de service, Seisint, a eu l’idée de développer
un ensemble de programmes écrit en C++ capable de gérer des données structurées
et non-structurées stockées sur de multiples serveurs et pouvant être traité
sur chaque serveur, en parallèle, les requêtes qui leur sont soumises. Cette société
fut rachetée en 2004 par LexisNexis qui est un des plus importants éditeurs de
bases de données documentaire et juridique mondial qui avait su, dès les années
soixante-dix, proposer la recherche dans l’ensemble des textes. La même année
Google a repris ces idées afin de mieux répondre à ses besoins de stockage de
donnée et a développé une architecture voisine de celle de LexisNexis appelée MapReduce.
C’est la base de l’architecture Hadoop qui est en passe de devenir un standard
grâce à HDFS ([3]).
C’est un logiciel libre développé et diffusé par l’Apache Software Fondation. Cette
architecture est reprise par de nombreux produits comme Google FS, BigTable,
HBase, Hive, Pig, Phoenix, MapR, …. Elle fonctionne sur le cloud chez les
principaux fournisseurs : Cloudera, Amazon dans Elastic MapReduce disponible
dans Amazon Web Services, Azure HDInsight, IBM
BigInsights for Hadoop, ….
La conjonction de
ces deux facteurs explique le développement rapide du Big Data. Il est ainsi possible
de constituer des bases de données de taille quasiment illimitée. De plus il
est possible d’exploiter l’ensemble de ces données dans des conditions acceptables,
notamment grâce à des temps de réponse satisfaisants, grâce au parallélisme des
traitements.
Un grand nombre d’applications possibles
Comme on le voit
le Big Data c’est d’abord de la plomberie. Mais la possibilité de créer des bases
de données de taille illimitée a permis de créer ou de développer d’un grand nombre
de nouveaux usages. Ils ont élargi de manière considérable le domaine des
possibles :
·
Marketing.
C’est le domaine où il y a actuellement le plus grand nombre d’applications
notamment dans le domaine de l’analyse des comportements des acheteurs et des
prospects en particulier ceux présents sur Internet. Depuis des années Wal-Mart
analyse en permanence les tickets de caisse de ses millions d’acheteurs
journaliers et ainsi détecte des opportunités. Aujourd’hui le succès de sites
comme Amazon, You Tube, Netflix, Spotify, … repose sur l’analyse du comportement
de leurs clients et de leurs prospects. Il est ainsi possible de faire des offres
ciblées répondant à leurs attentes.
Ces
mêmes techniques peuvent être utilisées lors des élections en exploitant des bases
de données constituées à partir des listes électorales, des résultats des
dernières élections par bureau de vote, des bases de localisation géographique
et des bases décrivant les caractéristiques sociales et économiques de ces
populations afin de détecter les électeurs tièdes et de leur envoyer des
militants pour les inciter à voter. C’est la base des programmes de portes à
portes ou de relance téléphonique qui expliquent les succès de Barack Obama et
de François Hollande en 2012 et du BJP (Bharatiya
Janata Party) en Inde en 2014.
Toutes
ces techniques de marketing fin sont à l’opposé du marketing de masse
traditionnel. Elles reposent fondamentalement sur le rapprochement de différentes
bases de données de très grandes tailles.
·
Analyse
des données. C’est le domaine classique des calculs de régression, des
analyses en composantes principales, des analyses factorielles multiples, …
Mais au lieu de travailler sur des échantillons et des panels avec le risque
toujours possible d’erreur d’échantillonnage les statisticiens vont pouvoir travailler
sur l’ensemble des données. Dans ces conditions on sera certain des résultats
car on analysera l’intégralité de toutes les données. Ceci entraine un développement
rapide du vaste domaine du Data Mining qui concerne les données chiffrées mais
aussi les textes, les données géographiques, les enregistrements audio, les
images, …. Il ne faut pas s’imaginer qu’on va découvrir automatiquement ces
choses qu’on ignorait jusque-là. Il n’y a pas de mines d’or cachées. On va simplement
mieux connaitre et surtout mieux quantifier des modèles qui jusqu’alors étaient
plus ou moins connus.
·
Développement
de nouveaux services. Les plus grands utilisateurs de Big Data sont actuellement
les GAFA et notamment Facebook qui stocke 50 milliards de photos sur une base
Hadoop. De même Amazon, Google, eBay, You Tube, … mettent en œuvre des bases de
données de grandes capacités pour fournir leurs services actuels.
Le
Big Data est aussi utilisé par les entreprises de « reciblage
publicitaire » comme Criteo. (Pour voir la définition du « reciblagepublicitaire » sur Wikipédia cliquez ici). Cependant pour l’usager moyen un meilleur ciblage des publicités ne se
traduit pas forcément par une amélioration des services fournis.
Par
contre la possibilité de suggérer aux utilisateurs des recommandations adaptées
à leurs goûts et à leurs attentes comme le font déjà You Tube, Netflix, Amazon,
LinkedIn, Facebook, iTunes, ... est un progrès. Demain les grands distributeurs,
les banques, les assureurs, les compagnies aériennes et les agences de voyages,
…. vont pouvoir personnaliser leurs offres en fonction des préférences de leurs
clients. Ces démarches ne sont pas réservées au seul secteur commercial. Elles
vont aussi être mises en œuvre dans des domaines comme l’éducation où la
culture.
·
Santé.
A partir des millions de prescriptions stockées dans les bases de données de la
sécurité sociale il est possible de mesurer l’impact des traitements sur la
santé des patients. Ceci permet de détecter les traitements dangereux ou
inefficaces et de recommander aux médecins ceux ayant montrés leur efficacité.
Il
est aussi possible d’effectuer des analyses épidémiologiques fine ou de faire de
la médecine prédictive en évaluant les risques concernant des populations déterminées
et en identifiant les groupes à risques. Une autre possibilité est d’analyser
les génomes de larges populations de façon à identifier les risques de maladies
génétiques notamment certains types de cancers. Mais ces possibilités sont actuellement
freinées par les réticences du corps médical.
·
Sécurité.
La NSA a construit dans l’Utah une plateforme ayant une capacité de stockage
gigantesque. On estime qu’elle serait comprise entre 3
et 12 exaoctets (soit des milliards de gigaoctets) stockés sur 10 000
de serveurs de données (Pour en savoir plus sur l’Utah Data Center surWikipédia cliquez ici). Les données sont ensuite exploitées avec des logiciels type PRISM dont l’existence
a été divulguées par Edward
Snowden (Pour en savoir plus sur PRISM cliquez ici) et ainsi de surveiller l’ensemble d’Internet et des communications
téléphoniques mondiales. En France, la DGSE, avec des moyens plus limités, a développé
le Pôle National de Cryptanalyse et de Décryptement (PNCD).
Grâce
au Big Data il est aussi possible de suivre une personne en ville grâce aux
milliers de cameras-vidéos qui s’y trouvent et aux possibilités offertes par la
reconnaissance des visages. On peut aussi suivre les véhicules automobiles roulant
sur les autoroutes et dans les villes et de voir où elles passent grâce à la
lecture automatique des plaques minéralogiques.
·
Sciences.
Le Large Hadron Collider (LHC) du CERN doit traiter les 600 millions de
collisions par seconde qu’il produit pour détecter parmi celles-ci celles qui
sont intéressantes.
Dans
le domaine astronomique le Sloan Digital Sky Survey collecte automatiquement toutes
les nuits les données concernant des millions d’étoiles et de galaxies. En
quinze ans il a accumulé des données photométriques et spectroscopiques concernant
500 millions d’objets couvrant environ 35 % du ciel. Son successeur, le Large
Synoptique Survey Telecope arrivera en 2020 et permettra de faire un
recensement complet de la voie Lactée en 3D. On estime qu’elle comprend entre 100
et 400 milliards d’étoiles.
Comme on le voit le
Big Data offre des perspectives considérables et va se traduire par des développements
importants dans des domaines qui jusqu’alors souffraient des limites des
systèmes existants. Un des facteurs important de généralisation des
technologies du Big Data va être, dans les années à venir, le développement de
l’Internet des Objets qui va produire des masses considérables de données qu’il
faudra bien stocker et traiter quelque part.
Le Big Data à la croisée des chemins
Traditionnellement
on considère qu’il existe deux grandes familles de systèmes
d’information :
·
Les systèmes d’information opérationnels qui
gèrent les commandes, font la comptabilité, établissent la paie, … C’est le
domaine traditionnel de la gestion ([4]).
·
Les systèmes d’information décisionnels qui
permettent d’effectuer des requêtes, d’établir des tableaux de bord, d’alimenter
des modèles de simulation, …
Les systèmes décisionnels
sont généralement fournis à partir des systèmes d’information opérationnels par
recopie périodique des bases de données. C’est le « copy
management ». C’est simple mais un peu lourd en particulier lorsque les
bases sont de grandes tailles. De plus très vite les données stockées sur les
systèmes décisionnels ne sont plus à jours.
Lorsque les
premiers systèmes d’information en mode Big Data sont apparus on s’est retrouvé
face à un troisième type de système d’information situé en aval des systèmes d’information
opérationnel. On a commencé par les alimenter pour partie par « copy
management » comme les systèmes d’information décisionnel et pour le reste
à partir par de remontées directes du réseau. Mais est-ce la bonne
solution ? Cette multiplication des systèmes d’information qui se
recopient les uns sur les autres n’est pas une solution particulièrement performante.
Les inconvénients de la séparation
En effet, la séparation
des systèmes d’information en mode Big Data et des systèmes d’information opérationnels
et le positionnement des premiers en aval des seconds est une démarche risquée.
En effet, entre deux mises à jour on constate très vite une désynchronisation des
bases de données. Ceci a pour conséquence de faire apparaître des écarts conséquents
lorsqu’on effectue les mêmes consultations sur les bases de données en mode Big
Data et sur les systèmes de gestion classique. Or, rien n’est pire que de se retrouver
avec deux montants différents pour une même rubrique selon qu’on interroge un
système d’information opérationnel ou sa copie décisionnelle. Pire, il n’est
pas possible de justifier à cet écart. Même si ce type de situation s’explique
parfaitement cela fait désordre.
A cela s’ajoute
le fait qu’un grand nombre d’informations arrivent directement dans les bases
de données en mode Big Data. Or celles-ci peuvent ensuite avoir un impact sur les
bases de données de gestion. Ceci risque de se traduire par des doublons. On
risque alors de constater leur existence mais il est toujours très difficile de
les identifier et de les neutraliser.
Même difficulté,
lorsqu’on modifie ou on supprime des données dans des bases de données en mode Big
Data et dans les systèmes d’information opérationnels. On doit veiller à effectuer
ces corrections en même temps dans les différentes bases de données. C’est un
exercice difficile qui est toujours un peu risqué. La moindre fausse manœuvre
risque d’entraîner des désynchronisations difficiles à détecter.
Comme on le voit
les risques de perte de données au cours des transferts de données ou de mise à
jour de données sont importants. Pire, il est difficile de détecter rapidement
ces divergences et même parfois il n’est pas possible de les repérer. Pour cela
on va s’efforcer de faire des totalisations significatives puis ensuite chercher
à repérer les occurrences fautives et s’efforcer de les corriger.
Les chemins de la migration
Dans ces
conditions il n’est pas raisonnable de gérer trois familles de base de
données : les systèmes d’information opérationnels, les systèmes d’information
décisionnels et les systèmes d’information en mode Big Data. Il est fort
probable que dans les années à venir ils vont progressivement se rapprocher et évoluer
vers un seul type de système d’information bâti à partir de la norme de facto
Hadoop.
Pour cela on va
probablement, dans un premier temps, envisager de fusionner les systèmes
d’information décisionnels et les bases de données organiser en mode Big Data.
Ce sont les mêmes informations même si parfois celles-ci sont plus agrégées
dans les systèmes décisionnels. Jadis on a adopté cette solution reposant des
systèmes d’information séparés car les capacités de stockages des systèmes
d’aide à la décision étaient alors limitées. Il est probable que cette fusion
se fera lentement en fonction des mises à jour des logiciels d’aide à la
décision car les systèmes existants sont complexes et lourds à faire évoluer.
Cependant cette évolution est probable.
Dans une deuxième
étape, on peut envisager qu’il va être possible d’aller plus loin et
d’alimenter directement et en temps réel les bases de données en mode Big Data
et les systèmes d’information opérationnel. Cette évolution est souhaitable de
façon à éviter les divergences entre les systèmes d’information. A terme il est
probable qu’au lieu de trois types de systèmes d’information on va arriver à un
seul. Par contre cette opération n’est pas évidente à mettre en œuvre. Il va
être pour cela nécessaire de disposer d’outils puissants et fiables permettant
de saisir et de transférer ces données dans des conditions de sécurité
satisfaisantes.
Ces choix
d’architecture sont délicats et auront, dans les années à venir, des
conséquences importantes. La migration vers le Big Data a commencé à titre
expérimentale et va probablement de nombreuses années.
Les conséquences de la fusion des systèmes
d’information
Cette évolution va
avoir plusieurs conséquences importantes :
·
Augmenter
les capacités de stockage des systèmes d’information de gestion. Les
grandes entreprises doivent faire face à des volumes croissants de données car
on veut stocker de plus en plus d’informations détaillées. Cette contrainte va
les inciter à passer en mode Hadoop. A cela s’ajoute le fait que plus les
systèmes sont intégrés plus la taille de leurs bases de données est importante.
On arrive aux limites des bases de données classiques type SQL. Le recours aux
bases Hadoop est une solution intéressante pour gérer les données de gestion. De
plus le fait que les bases réparties sont systématiquement redondantes améliore
la sécurité de ces systèmes et allège les procédures de « backup ».
·
Répondre
à la demande croissante d’enrichissement de l’information de gestion. Les
bases de données décisionnelles, lorsque les hypercubes ont un nombre élevé de
dimension, arrivent assez vite à saturation. Les bases de données en mode Big
Data permettent de gérer un beaucoup plus grand nombre de « cases »
et donc des tableaux avec un nombre de dimensions beaucoup plus élevés. Il va
ainsi être possible d’améliorer la finesse des calculs de coûts de revient, de mesurer
de manière détaillées les différentes activités, de suivre un grand nombre de
tâches et de mieux anticiper leurs évolutions, …
·
Améliorer
la vitesse de recherche des informations. Ceci concerne la recherche d’une information
mais aussi un grand nombre d’occurrences correspondantes à un critère donné. Le
fait qu’une base de données est répartie sur plusieurs serveurs et qu’une
partie des traitements sont effectués sur place, notamment la gestion des
index, permet d’envisager une accélération significative des vitesses de
recherche. Les moteurs de recherche et notamment Google montrent les progrès qui
ont été réalisés en ce domaine ces dernières années. Il est probable que la
vitesse d’exécution des applications de gestion et d’aide à la décision va progresser
de manière importante dans les années à venir.
·
Intégrer
les systèmes de gestion et ceux chargés de fournir des services. C’est
notamment le cas des sites de commerce électronique qui doivent intégrer le
front-office (c’est-à-dire la recherche des articles dans le catalogue et la
gestion du panier) et le back-office (l’établissement de la facture, la gestion
du règlement, le prélèvement sur stock et la livraison). L’intégration s’impose
car on utilise dans les deux cas des mêmes bases de données : articles,
clients, stocks, ….
·
Améliorer
la qualité des prévisions de gestion et renforcer la planification des
opérations. Dans un grand nombre d’entreprises les prévisions sont fragiles.
Elles sont souvent effectuées en prolongent les tendances précédemment
constatées plus ou moins infléchies. Les analyses statistiques faites à l’aide de
bases de données en mode Big Data permettent de détecter des mouvements fins ce
qui est utile pour établir des prévisions plus réalistes et donc de mieux
« coller » à la réalité.
Comme on le voit
le Big Data ne va pas seulement améliorer les capacités d’analyse des données
mais aussi impacter les systèmes de gestion existants. Il va aussi se traduire
par une amélioration des outils informatiques. Mais, au-delà, ces possibilités
vont permettre un élargissement considérable des possibilités offertes par ces
systèmes ce qui va, à son tour, avoir un impact certain sur la nature et la
multiplicité des applications mises en œuvre.
[1]
- To : Terra octets soit mille milliards d’octets (1.000.000.000.000
octets) soit1.000 Go.
[2]
- Le premier système disque a été commercialisé par IBM en 1956. C’était l’IBM
350 RAMAC qui stockait 5 Mo de données sur 50 plateaux de 60 centimètres de
diamètre chacun, coûtait 50.000 dollars et pesait une tonne.
[3] - HDFS : Hadoop Distributed
File System. (Voir Hadoop sur Wikipedia).
Ce système permet de fractionner les grandes bases de données en blocs importants
et les distribuer sur un certain nombre de serveurs organisés pour former un cluster
de taille illimitée. Les traitements des données stockées sur un serveur se
font sur le même serveur ce qui permet de traiter l'ensemble des données plus
rapidement. Ces systèmes de fichiers parallèles où les données sont directement
traitées sur le serveur les stockent et dont l’ensemble des serveurs sont
reliés par un réseau de grande capacité constituent des systèmes d’une
puissance et d’une rapidité sans comparaison possible. Cerise sur le
gateau : chaque serveur peut être doublé par un serveur de secours dont les
données sont simultanément mises à jour. En cas de panne matériel d’un serveur
le système bascule automatiquement sur le serveur de sauvegarde.
[4]
- Comme le fait remarquer très justement Christophe Legrenzi : « Traditionnellement
les données alimentant les systèmes d’information étaient principalement saisies
de manière manuelle. Or aujourd'hui, avec la multiplication des capteurs, des cookies,
des saisies sous Web, etc. la majorité de l'information arrivant dans les systèmes
d’information est d'origine automatique et non manuelle ce qui démultiplie les
volumes. C'est une des raisons de l'origine mais aussi de la popularité du Big Data.
On enregistre tout ce qu’il est possible de saisir notamment les informations
concernant les clients sans savoir forcément la finalité de ce stockage. C'est
pourquoi on constate deux approches différentes : un "Big Data
déterministe" où l'on stocke ce que l'on a décidé de garder et un
"Big Data exhaustif" où l'on stocke tout au cas où.