Accueil Big Data Bienvenue à #BigData

Bienvenue à #BigData

Thomas Gerbaud
Thomas Gerbaud, Ma,tiq

Avec deux autres data scientists, Thomas Gerbaud a créé en 2015 la start-up Mantiq, entreprise spécialisée en solutions digitales. Il revient pour nous sur les défis posés par le Big Data.

L’accroissement spectaculaire des données disponibles créent de nouvelles opportunités et de nouveaux défis. Nous sommes entrés dans l’ère des mégadonnées, des données de masse, des données massives … Bienvenue à #BigData !

Une avalanche de chiffres

On estime qu’une encyclopédie contenant l’ensemble des mots prononcés par l’Homme depuis l’an 0 comprendrait une centaine de tomes contenant chacun un exaoctet (1 Eo = 10^18 octets = 10^9 Go = 10^3 Po) de données. Chaque jour, ce sont plusieurs exaoctets de données qui sont créés : un vrai déluge !

Volume, Vélocité, Variété : telles sont les trois caractéristiques inhérentes du Big Data, initialement définies par Gartner Group (USA) en 2001, puis 2012. De grands volumes de données avec des flux d’entrée/sortie à haute vélocité, et une forte variété des sources, types et formats de données.

La donnée, nouvel Eldorado. De nombreux domaines sont concernés. En marketing, via la segmentation de bases clients ou la prédiction du comportement d’utilisateurs. Ou dans le domaine de la santé, très prometteur : le croisement des données issues de différentes sources peut permettre le développement de diagnostics personnalisés. L’essor de la santé connectée sera probablement rendu possible par l’utilisation massive d’objets de mesures reliés à votre téléphone portable.

Cette mine d’or numérique n’est toutefois pas toujours exploitée : seules 10% à 30% des données des entreprises seraient utilisées.

Les deux défis

Le stockage de ces données massives est réalisé dans des entrepôts de données, ou datacenters, contenant des dizaines de pétaoctets (Po). Véritables usines confrontés à des problématiques industrielles (énergie, distribution, évacuation de la chaleur) et des contraintes de connexion, ils engloutissant 1 % à 2 % de la consommation électrique mondiale. Amasser ainsi les disques n’est cependant pas insurmontable. Ce sont les outils techniques et conceptuels qui font défau.

Le Big Data doit affronter deux défis. Le premier est la gestion même de ces données : trop indisciplinées, trop massives, les outils classique ne suffisent plus. Le second défi concerne leur analyse : les programmes doivent être suffisamment bien pensés pour traiter efficacement des mégadonnées dans des temps acceptables. Le moteur de recherche de Google traite environ 40 000 recherches par seconde, mais nous concevrions mal qu’il ne traite pas notre recherche immédiatement !

Des bases de données adaptées

Les performances des bases de données dépendent des infrastructures matérielles qui les portent. Infrastructures parallèles ou distribuées : on assiste depuis dix ans à une convergence technologique vers une répartition de la puissance de calcul sur de multiples nœuds.

Les progrès technologiques permettant au microprocesseur de doubler ses performances tous les 14 mois environ, et ce depuis 40 ans, ont longtemps portés sur l’augmentation de sa fréquence d’horloge – jusqu’à l’apparition de problèmes de dissipation thermique, en 2004. La multiplication des unités de calcul au sein d’un même processeur permet maintenant d’accroitre les performances, en exécutant les calculs simultanément.

Le second mouvement est technologique et économique : à puissance équivalente, rassembler des ordinateurs du commerce est moins cher et plus pratique qu’exploiter un supercalculateur. Ingénieurs et scientifiques utilisent les réseaux et distribuent ainsi les calculs sur des myriades d’ordinateurs interconnectés, créant ainsi de vastes systèmes fonctionnant avec une architecture distribuée : citons Seti@home, exemple historique d’un type de calcul distribué effectuant l’analyse de signaux issus de radiotélescopes à la recherche de signaux extra-terrestres.

Au cœur du Big Data, les bases de données subissent cette convergence vers des infrastructures distribuées. Le problème est que le modèle relationnel structurant historiquement les bases de données type SQL n’a pas été pensé dans ce cadre. Au prix d’un relâchement des contraintes sur la cohérence interne de leur structure, de nouvelles bases mieux adaptées au fonctionnement en réseau sont apparues, dites NoSQL (not-only SQL) comme CouchDB, MongoDB, Redis, Cassandra etc.

Des algorithmes spécialisés

Le second défi réside dans la conception des algorithmes, c’est-à-dire les étapes de traitement interne d’un programme.

Le choix de l’algorithme est une affaire de compromis entre taille des données, architecture système et contraintes matérielles. Un bon algorithme évite de devoir mobiliser trop de ressources matérielles et tient mieux la montée en charge : taille de données, requêtes utilisateurs etc.

Dans le cas du Big Data, un algorithme avec une complexité maitrisée ne suffit pas. Traiter un pétaoctet de données en un temps raisonnable requiert de faire appel à une forte capacité de calcul ; et donc, de distribuer le traitement. Cette adaptation logicielle aux architectures distribuées est un domaine très actif depuis dix ans qui a vu l’émergence, entre autres, de MapReduce.

MapReduce

MapReduce (Google, 2004) et son implémentation la plus connue, Hadoop (Yahoo, 2005) illustrent le paradigme actuel du calcul distribué : séparer le traitement de l’infrastructure logicielle permettant la répartition du calcul, la gestion des données distribuées, mais aussi l’hétérogénéité des ordinateurs et connections. L’intérêt est de pouvoir gérer plus facilement les contraintes matérielles (pannes, défaillances, saturation, encombrement réseau) et de pouvoir accroitre la puissance de calcul en mobilisant des noeuds de calculs supplémentaires.

Diviser, pour mieux régner

Deux clés de compréhensions émergent, pour penser ces évolutions technologiques:

-« Penser parallèle », avec MapReduce et les architectures parallèles et distribuées

-« Penser local », en apportant le processeur à la donnée, puisque les données sont trop massives pour être appréhendées d’un bloc.

Quant à la conception des algorithmes, elle reste l’apanage du data scientist, scientifique des données. A lui de maitriser son art, à mi-chemin entre mathématiques appliquées et informatique théorique, pour pouvoir traiter des problèmes intrinsèquement complexes à l’aide d’habiles méta-heuristiques !