vendredi 3 juin 2016

Big Data et Système d’information

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ù.