La genèse du “big data”

Le terme de Big Data s’inscrit dans le contexte de l’omniprésence de l’informatique. C’est d’une part, une suite logique de l’évolution de l’informatique, qui traite depuis sa naissance de la manipulation de données. L’évolution connue de type exponentiel, des capacités de stockage et de traitement, conduit maintenant à traiter des très grands volumes de données. Pourtant, il existe également des ruptures technologiques qui accompagnent cette évolution.

Contexte : l’explosion des données

Plusieurs experts convergent sur ce point. Selon eux, la genèse du Big Data repose sur la baisse spectaculaire des coûts unitaires de stockage et de l’explosion de la densité d’intégration, qui ont rendu possible le fait de conserver des données d’usage qui seraient restées temporaires il y a quelques années.

La quantité de stockage sur disque accessible pour un prix, doublait tous les 14 mois depuis 30 ans, revèle Komorowski. Par conséquent, le coût du Téraoctet est passé de 1.000.000 USD en 1995 à moins de 40 $ en 2013. Pour fixer un ordre de grandeur, l’entrepôt de données de Bouygues Télécom en 2000 représentait une dizaine de To. Cela signifie que l’on peut mettre aujourd’hui sur un produit grand public de quelques centaines d’euros toutes les connaissances clients du système d’information d’il y a dix ans pour un million de clients.

figure im1
Figure 1 : évolution des coûts de stockage sur disque (Matthew Komorowski)

Cette capacité à stocker un volume sans cesse croissant de données a rencontré une explosion des sources. La numérisation de l’ensemble des activités humaines conduit à la prolifération des « traces numériques ». Toutes nos transactions (achats, réservations, requêtes), simple lecture de contenus numériques ou notre navigation sur Internet, produisent des « logs ». Ces logs sont des représentations numériques dans les systèmes d’information, qu’il est aujourd’hui réaliste de conserver à cause de la baisse des coûts.

Origine de l’explosion des traces

Cette explosion des traces s’amplifie par la prolifération des smartphones, qui sont autant de balises numériques de nos vies quotidiennes. Une des manifestations les plus spectaculaire de cette « vie numérique » est le développement massif des réseaux sociaux qui permettent aux internautes de fournir de façon volontaire des traces numériques de leurs activités.

Cette tendance n’est pas prête de changer ; au contraire, elle devrait s’amplifier avec l’explosion des « senseurs ». Ces senseurs sont des capteurs connectés qui sont omniprésents sur nos smartphones ou sur les objets connectés. Tim O’Reilly emploie l’expression de Web Squared (web au carré) pour représenter cette double connexion du monde réel et du monde virtuel : les objets physiques deviennent « intelligents » en étant connectés au Web, tandis que les programmes du « cloud » ont accès aux « sens du monde physique » à travers la myriade de capteurs (image, température, son, pression, etc.) de ces objets connectés.

Apparition des données “non-structurées”

L’explosion des données s’accompagne de l’apparition de données dites « non-structurées », qu’il s’agisse de textes, de photos, de sons ou de vidéos. L’explosion du trafic sur Internet est fortement liée au développement de la vidéo, sous toutes ses formes (de la distraction à la communication, de YouTube à Facebook). Ces nouvelles formes de données non structurées posent des défis en termes de collecte, de stockage, d’indexation, de recherche et de manipulation pour les systèmes d’information classiques.

Même si la majorité des traitements Big Data consiste à effectuer des opérations simples sur des très grands volumes de données, il faut pouvoir le faire très rapidement. Critéo, une entreprise française qui est le leader mondial de son domaine et un des centres d’excellence du Big Data, est un parfait exemple de cette maîtrise de la vélocité puisque son métier consiste à faire du retargeting, c’est-à-dire choisir en temps réel les meilleures publicités en fonction de l’historique de l’intérêt d’un internaute perçu au travers de sa navigation.

Les technologies pivots

Les technologies qui soutiennent l’essor du Big Data se sont développées depuis une grosse dizaine d’années pour faire face aux trois enjeux représentés par les 3V :

  • ▶ volume : comment stocker des volumes qui s’expriment aujourd’hui en pétaoctets (1015) et demain en exaoctets (1018) ?
  • ▶ variété : comment stocker des données non-structurées, c’est-à-dire de façon brute (et souvent compressée, comme pour la vidéo) sans perdre les capacités d’indexation et de recherche ?
  • ▶ vélocité : une grande partie des « traces numériques » représentent des informations volatiles, qui n’ont d’intérêt que si elles peuvent être utilisées rapidement.

La première réponse à ces défis est d’utiliser un stockage massivement distribué (plusieurs milliers, voire dizaines de milliers de serveurs) des données, en évitant toute forme de déplacement pendant le traitement. Le traitement se fait également de façon distribuée, au plus proche de la donnée.

Hadoop, technologie de répartition de données

La technologie la plus emblématique de répartition de données distribuées est Hadoop, qui est presque synonyme de Big Data en ce qui concerne le déploiement de ces dernières années. 

Hadoop a popularisé le concept de MapReduce, consistant à découper un très gros volume de données en petites unités et à effectuer une très grande partie du traitement de façon distribuée sur chaque « petit » serveur (la partie map), tandis que le travail d’agrégation (reduce) est limité le plus possible. Tous les traitements ne prêtent pas à cette décomposition, mais on peut rendre à Google l’honneur d’avoir montré très tôt (sur Google Search) et sur de nombreux exemples (en particulier Gmail) la puissance de cette approche massivement distribuée.

La distribution des traitements s’appuie sur la disponibilité de moyens de calculs distribués (grids, cloud) identiques à des coûts qui baissent également de façon exponentielle. Pour illustrer ce point, citons l’anecdote rapportée par François Bancilhon, de Data Publica, pour une expérience d’analyse de données qui s’appuyait sur le graphe complet du Web (un graphe représentant 70 To), il a été possible de faire un calcul distribué mobilisant jusqu’à 2 000 cœurs de calcul pour un coût total de 300 € chez Amazon. Notons également que l’évolution exponentielle de la puissance concerne dans des proportions variées le calcul, le stockage sur disque, mais également la capacité de mémoire vive et la vitesse de transfert des réseaux, ce qui est nécessaire pour le fonctionnement de ces architectures distribuées.

Apparition des bases de données no-SQL

Une autre rupture technologique est liée au traitement des données non-structurée : l’apparition des bases de données no-SQL, dont Appache Cassandra ou MongoDB sont des exemples emblématiques. SQL est le langage de requête structuré commun à l’ensemble des bases de données relationnelles. L’approche no-SQL consiste à ne plus placer des données sous une forme structurée de tables, mais d’accepter un stockage plus « primitif », convenant mieux aux contenus tels que la vidéo ou aux « traces numériques » qui sont encapsulées dans les langages informatiques de structuration et de transfert de données tels que XML ou JSON.

Pour finir ce tour d’horizon synthétique, le besoin de traitement en temps réel a produit de nombreux outils informatiques autour de concepts tels que le flow computing (traitement sur des flots de données sans stockage) ou de complex event processing (CEP), pour fournir des solutions de traitement de très gros volumes de données en quasi temps-réel. Dans tous les cas, il s’agit d’approches distribuées qui s’adaptent aux architectures massivement parallèles du Big Data. Par exemple, la plate-forme Storm est une évolution de Hadoop qui est mieux adaptée au traitement d’évènements et qui a été rendue populaire par son adoption par Twitter.

Ingénierie système et écosystème logiciel

Marko Erman, de Thales, insiste sur la vision complète « système » qui est nécessaire pour réussir un traitement de Big Data, ce qui est illustré de façon sommaire par l’illustration ci-dessous. Il faut maîtriser et intégrer des compétences « hardware » (pour construire et opérer des réseaux de ressources distribuées), des compétences « systèmes informatiques » (en particulier, une bonne compréhension du système d’exploitation et de ses mécanismes de distribution), des compétences logicielles applicatives (pour maîtriser les solutions techniques telles que Hadoop, Storm ou Elastic Search, pour ne citer que quelques exemples) et des compétences algorithmiques (nous allons y revenir, les algorithmes du Big Data sont forcément spécifiques car ils doivent avoir des complexités sous-linéaires).

Google à l’origine du Big Data

Il est naturel de faire remonter l’origine du Big Data à Google, qui a développé toute une approche du calcul parallèle pour mettre en œuvre son moteur de recherche. Google a développé ses propres serveurs (en mettant en œuvre le principe du commodity computing, consistant à construire des nœuds de calcul à très faible coût en partant des processeurs des PC grand-public et en jouant sur la redondance), sa propre version de système d’exploitation (en partant de LINUX et en écrivant ses propres algorithmes de distribution et d’ordonnancement), son propre mécanisme de gestion de fichiers et de stockage (donnant naissance à BigTable, qui est l’ancêtre de Hadoop) et sa première réalisation d’une plate-forme MapReduce.

Hadoop est née comme une initiative open source, en partie supportée par Yahoo (à l’origine de Hadoop en 2005), pour reproduire cet environnement de calcul distribué construit par Google. Hadoop, parce qu’il n’impose pas de structure de données (c’est une forme de système de fichiers, utilisé avec d’autres outils, tels que Pig ou Hive, pour construire des traitements) supporte de très larges volumes de données (petaoctets) hétérogènes.

Le logiciel libre et open source

Le logiciel libre et open source joue un rôle fondamental dans l’approche Big Data. Hadoop n’est qu’un des maillons d’une chaîne logicielle qui intègre de multiples outils, allant de la configuration à la visualisation en passant par la supervision. Nos nombreux experts ont insisté sur l’importance de l’open source, qui dépasse le cadre de ce rapport sur le Big Data. Dans un mouvement de balancier historique, l’utilisation de code en open source permet de réutiliser des fragments de code par insertion, dans une « approche boîte blanche », qui est très différente de l’approche par composants « boîte noire » qui était l’état de l’art il y a 20 ans. Le code open source est développé de façon émergente, avec une distribution du travail de test et de validation, qui est une réponse systémique efficace à la complexité et la variété des sujets à traiter.

figure im2
Le Big Data en tant que système

Bibliographie

Académie des technologies,. « La genèse du « Big Data » », , Big Data : un changement de paradigme peut en cacher un autre. EDP Sciences, 2016, pp. 5-11.

Retour en haut