Big data

Dernière mise à jour : 18 février 2019

Les grosses données sont des données nombreuses et volumineuses. Concept fumeux et marketing comme toujours, il n’en est pas moins vrai que l’augmentation des performances de stockage et de calcul posent de nouveaux problèmes de sécurité.

Technologie

D’où ça vient ?

Nous produisons de l’information depuis longtemps, bien avant le temps de l’informatique, mais la mémorisation (stockage) des informations (données) était limitée, tout comme leur analyse : il a fallu longtemps se contenter d’un support papier et de son cerveau !

Avec l’avènement de l’informatique, tout change : on peut à la fois stocker l’information et déléguer son traitement à une machine. Or plus on avance dans le temps, plus les capacités de stockage et d’analyse progressent, au point que certains usages qui nous paraissaient impossibles aux premiers temps de l’informatique sont maintenant à la porté d’un très grand nombre de personnes et d’entreprises.

Alors qu’autrefois, il fallait du matériel spécialisé, l’analyse de données est désormais possible avec du matériel standard. Ce qui relevait des capacités d’une organisation spécialisée est désormais possible à presque tout le monde, y compris des particuliers. Devenant grand public, le marketing inventa comme toujours un concept pour matérialiser cette évolution : le big data. L’analyse rapide de données en masse

Définition informatique formelle

Il n’y en a pas. Il y a plutôt certains critères qui font penser qu’on est dans une implémentation de big data :

  • Beaucoup de données, généralement non structurée ;
  • On utilise hadoop !
  • L’architecture est distribuée et parallélisée ;
  • On n’arrive pas à traiter les données avec une base de données classique ;
  • Règle des 3V : Volume, Variété, Vélocité des données et de leur analyse.

En résumé : en cherchant bien, n’importe quoi peut être big data.

Domaines

Pour n’en citer que quelques uns où l’analyse rapide de données en masse le big data est utilisé :

  • Ciblage publicitaire, suivi des consommateurs
  • Analyse comportementale
  • Lutte contre la fraude
  • Recherche (santé par exemple)
  • Détection et prévention des pannes de composants ou de systèmes failures

Les technologies en elles-mêmes

MapReduce

MapReduce est une technologie initiée par Google pour le traitement des données en masse. Les deux principales étapes sont :

  • Map : On transforme la donnée brute en format exploitable (genre clé-valeur), et on les prépare au traitement.
  • Reduce : On les traite effectivement, de façon statistique.

Hadoop

Hadoop est l’implémentation open source de MapReduce couplé à un système de fichiers distribué, HDFS. HDFS permet notamment de répliquer les données sur plusieurs noeuds pour éviter la perte de données, et la mise-à-jour est également interdite : elle s’effectue par la création d’un nouveau fichier.

D’autres technologies sont adossées à l’écosystème Hadoop :

  • Des bases de données spécialisées sont également employées, comme Hbase ou Cassandra, opérant un système de fichier HDFS (ou compatible) ;
  • Les requêtes sont générées en langage HiveQL ou Pig Latin ;
  • L’import/export de données vers des bases classiques se fait via Sqoop (Sql-to-hadoop) ;
  • Des composants de haut ou bas niveau, comme pour le machine learning (Mahout) ou l’intégration de logs (Flume).

Hive

Hive n’est ni plus ni moins qu’une infrastructure d’entrepôt de données (comme on disait dans le temps), mais basé sur les outils de type big data, comme HiveQL, HDFS, HBase, etc. Il est interopérable avec de nombreux outils de BI (Business Intelligence).

Autres technologies liées

  • Massively Parallel Processing (MPP), basé sur des appliances, permettant des requêtes SQL distribuées ;
  • NoSQL, bases non structurées privilégiant la disponibilité à la consistance (au sens SGBD), stockant sous les formes de clés/valeurs, documents, graphes, etc.
  • CAP Theorem : ?
  • NewSQL : ?

La liste ne saurait être limitative, surtout que l’hybridation des architectures est souvent pratiquée dans les entreprises.

En ai-je besoin ?

La plupart du temps : non. Mais ça fait chouette sur sa carte de visite (au niveau personnel ou entreprise). Mais s’il fallait réfléchir avant de mettre en oeuvre une technologie informatique, ça se saurait. S’il y a de nombreux cas d’usage où les technologies big data se justifient, de trop nombreuses organisations ne le font que pour être à la mode. Une des conséquences de cet engouement irréfléchi est la pénurie de statisticiens, appelés data scientists dans le domaine du big data, capables de tirer parti des données.

Comment rester anonyme ?

Big data et respect de la vie privée sont deux notions contradictoires : dans ce monde de données abondantes et déferlantes, il devient bien difficile de rester anonyme, pour deux grandes raisons :

  • D’abord parce que nous produisons de la donnée à ne plus savoir qu’en faire, en laissant partout un infinité de traces de nos activités (informatiques, ou non-informatiques mais mesurées ou reliées à des outils informatiques) ;
  • Parallèlement à cette production, les moyens de traitement sont désormais capables d’effectuer des rapprochements ou des corrélations dont on était incapable il y a peu.

Un exemple (théorique) de désanonymisation par corrélation

Cet exemple a été donné par une juriste de ma société, et il est très parlant. Imaginons qu’on dispose d’une vue partielle de l’ensemble des logs d’activité des bornes téléphoniques. Par partiel, j’entends qu’on dispose de données sur l’ensemble des bornes, sur une période suffisamment grande, mais anonymes a priori : on ne disposerait que de l’identité (l’emplacement) de la borne, la date précise (au moins à la minute) et l’identifiant des téléphones (genre IMEI). Un exemple simple de ligne pourrait être :

numéro de ligne ; identité/localisation borne ; date et heure ; IMEI

A prori rien de personnel. Ou plutôt rien que des données anonymes, car les identifiants techniques comme l’adresse IP, l’adresse MAC ou l’IMEI sont indirectement personnelles : les opérateurs disposent d’une base faisant le lien entre ces identifiants techniques et leurs clients. De ces informations brutes, on ne peut tirer aucune information personnelle. On suppose aussi qu’on ne dispose pas d’une base faisant un lien entre IMEI et les clients, bien sûr.

En premier lieu, on isolera toutes les données d’un IMEI, en supposant qu’il n’y ait qu’un seul utilisateur principal. On tracera vite une cartographie de la géographie de ses déplacements, et on trouvera vite l’adresse de son travail (les lieux où le téléphone se trouve durant les heures de travail) et celle de son domicile (aux autres heures), de façon statistique. Puis, à partir d’une annuaire classique, on cherchera sur les adresses proches de la localisation du domicile un premier ensemble de candidats potentiels.

Ensuite, on identifiera les entreprises présentes sur le lieu de travail. Là aussi des données facilement accessibles. Pour continuer, on cherchera sur les réseaux sociaux toutes les personnes de notre première liste de candidats travaillant pour une des sociétés de notre 2e liste, si possible en affinant par localisation.

Dans mon cas, je travaille sur un site de 5000 personnes et j’habite Paris ; or je n’ai jamais rencontré de collègue ou très peu près de mon domicile. Dans le pire des cas, une petite dizaine de personnes doivent à la fois travailler à proximité du lieu de travail et du domiciles identifiés par les logs bruts.

En continuant une corrélation un peu plus ciblée, on finit par donner une identité quasi-certaines à l’IMEI a priori anonyme. Et en repartant sur les logs, on finit par tracer une grande partie des activités de la personne. Merci à nos smartphones !

Inférence

On peut déterminer des caractéristiques d’une personne sans rien lui demander. Il faut souvent un niveau un peu plus élevé d’informations, mais à peine. Imaginons qu’en plus des données précédentes, on dispose du niveau de signal (assez précis, quand même). Dans les toilettes hommes, je mets une borne wifi. Une autre est placée dans les toilettes femmes. Les téléphones vont interroger les bornes lorsqu’ils sont à proximité. On en déduit facilement le sexe du propriétaire d’un téléphone quand il se rend aux toilettes : le meilleur signal sera du côté où se trouve la personne !

On a donc ainsi déterminé le sexe d’une personne sans rien lui demander : c’est un mécanisme d’inférence.

Ok mais ça marche pas à tous les coups

Oui. Mais rapportons ça à l’échelle du temps, du volume exponentiel de données et de signaux que nous produisons.