Vous êtes sur la page 1sur 83

Introduction aux technologies et applications Big

Data

Sylvain Allemand

ANF 2018

Sylvain Allemand Introduction aux technologies et applications Big Data


Sommaire

Le Big Data
Les défis du Big Data
Principes des infrastructures matérielles et logicielles du Big Data
Actions sur les données dans le Big Data
Quelques exemples

Hadoop

Base de données non-relationnelles


ACID/BASE
Catégories des bases NoSQL

MongoDB

Apprentissage : Machine Learning, Deep Learning

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data

Historique

1992 : la National Science Foundation autorise le web


commercial, premier site e-commerce ”books.com”
1994 : premier paiement en ligne sécurisé réalisé sur le site
NetMarket
1995 : début de l’e-commerce (Pizza Hut, Amazon, Ebay)
Apparition de nouveaux modèles :
I B2C : business-to-consumer
I C2C : consumer-to-consumer
I B2B2C : business-to-business-to-consumer

2000-2010 : smartphones, Google, Facebook, MySpace, Twitter

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data

Quelques statistiques...

En une minute sur l’Internet :


I 470 000 tweets sur Twitter
I 2 millions de snap partagés sur Snapshat
I 4 millions de recherches réalisées sur Google
Dans le monde commercial :
I Walmart produit 40 péta-octets par jour
De multiples sources : réseaux sociaux, applications mobiles, différents
capteurs (montre, suivi d’activité), systèmes de localisation, tags RFID,
etc.

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data

Quelques statistiques...

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data

Le Big Data

Definition
Le terme Big Data réfère à l’accroissement exponentielle des données, au
traitement de ces dernières ou de manière plus générale à toutes les
étapes entrant en jeu dans le processus d’extraction d’informations utiles
à partir d’énormes lots de données brutes.

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data

Le Big Data

Les 3 V du Big Data :


I Volume
I Vélocité
I Variété

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data

Le Big Data

Les 3 V du Big Data :


I Volume : la quantité de données augmente ! 1 péta-octets toutes les
15 secondes !
I est-ce que ça va continuer ?
I oui ! l’industrie est prête (disques de 10To, bandes de 185 To en
2020, etc.)
I un obstacle ?
I l’énergie ! Actuellement l’industrie de l’information consomme entre
5 et 10% de l’énergie mondiale
I Vélocité
I Variété

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data

Le Big Data

Les 3 V du Big Data :


I Volume
I Vélocité : vitesse à laquelle les données sont générées
I entraı̂ne des difficultés technologiques de traitement et d’analyse
I Variété

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data

Le Big Data

Les 3 V du Big Data :


I Volume
I Vélocité
I Variété : variété des types et des sources
I types : texte, audio, vidéo, email, flux de clics, données de
géolocalisation, etc.
I sources humaines (mails, clics, etc.) ou des machines (logs, capteurs,
sondes, etc.)
I La variété engendre des données non-structurées !

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data

Le Big Data

Les 3 V du Big Data :


I Volume
I Vélocité
I Variété
I Valeur : représente le gain que peuvent apporter les données

”When an online service is free, you’re not the customer, you’re


the product” (Tim Cook)

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data

En résumé

Être dans le Big Data, c’est rencontrer une évolution significative dans un
seul ou dans plusieurs des 3V.
Si les bases de données relationnelles avaient pu gérer les 3V, on ne
parlerait pas de Big Data.

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Les défis du Big Data

Les défis du Big Data

I Stockage : les grands volumes résultent d’une agrégation d’un


ensemble d’entrepôts de stockage, éventuellement sur différents sites
I Passage à l’échelle, élasticité
Maı̂triser les coûts d’acquisition, d’administration et de maintenance

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Principes des infrastructures matérielles et logicielles du Big Data

Principes des infrastructures matérielles et logicielles du


Big Data

I Paralléliser le stockage
I Paralléliser le traitement

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Principes des infrastructures matérielles et logicielles du Big Data

La parallélisation du stockage

I une multitude de petits serveurs de stockage


I une couche logicielle de gestion, supervision, détection d’erreurs
Objectifs :
I protection des données par réplication
I faciliter le scale-out

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Principes des infrastructures matérielles et logicielles du Big Data

Différentes architectures de stockage

I maitre-esclaves
I maitres-esclaves
I p2p ou maitre-maitre

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Principes des infrastructures matérielles et logicielles du Big Data

Différentes architectures de stockage

I maitre-esclaves (1 serveur de meta données) : Hadoop

I maitres-esclaves
I p2p ou maitre-maitre

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Principes des infrastructures matérielles et logicielles du Big Data

Différentes architectures de stockage

I maitre-esclaves
I maitres-esclaves (x serveurs de méta-données) => Mongodb

I p2p ou maitre-maitre

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Principes des infrastructures matérielles et logicielles du Big Data

Différentes architectures de stockage

I maitre-esclaves
I maitres-esclaves
I p2p ou maitre-maitre (serveur de stockage = serveur de
méta-données) => utilise un algorithme pour découper/placer les
données.

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Principes des infrastructures matérielles et logicielles du Big Data

Différentes architectures de stockage

I Architecture multisite

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Principes des infrastructures matérielles et logicielles du Big Data

La parallélisation des traitements

Les demandes de traitement sont envoyées aux serveurs de stockage et


parallélisées. => Localisation des données importante !
Paradigme le plus célèbre :
I Map Reduce

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Principes des infrastructures matérielles et logicielles du Big Data

MapReduce

Proposé par Google en 2004, deux fonctions principales exécutées de


manière séquentielle :
Map est appliquée en parallèle sur chaque partition de données.
Exemple : compter les occurrences de mots dans chaque
partition ou chercher un motif
Reduce reçoit en entrée un ou plusieurs résultats intermédiaires et
exécute un ensemble d’opérations, typiquement un tri ou
une fusion, et produit un résultat
L’adoption globale de MapReduce a motivé son amélioration avec de
nouvelles extensions (HALoop, BigSQL, etc.)

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Principes des infrastructures matérielles et logicielles du Big Data

MapReduce

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Principes des infrastructures matérielles et logicielles du Big Data

Quelques remarques

I plus besoin de sauvegarde (réplication) !


I tâche d’administration constante quel que soit la taille du système
Big Data
I la gestion des méta-données reste l’obstacle technique principal au
passage à l’échelle actuellement
I la durée de vie des données peut être infinie !

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Actions sur les données dans le Big Data

Actions sur les données dans le Big Data

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Actions sur les données dans le Big Data

Ingestion des données

Plusieurs problématiques se posent lorsque le volume en entrée est trop


important (exemple du SKA) :
I réduction par calcul des données
I traiter au plus près des sources de données

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Actions sur les données dans le Big Data

Stockage : le lac de données

I processus ELT (Extract Load Transform) 6= ETL (Extract Transform


Load)
I espace de données utilisé pour stocker les données dans leur format
natif, en attendant d’être analysées
I présente une architecture à plat 6= un entrepôt de données consigne
les données de manière hiérarchique, dans des fichiers ou dossiers

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Actions sur les données dans le Big Data

Étude de la qualité

Les sources et les formes sont hétérogènes ou indignes de confiance :


capteurs défectueux, erreurs d’orthographe dans une publication
Facebook, fraude ou comportement malicieux...
Plusieurs actions :
I contrôler les entrées
I connaı̂tre l’impact des erreurs potentielles sur les données
I détection des inexactitudes ou des absences de données
I nettoyage des données (50 à 90 % du temps du métier de
data-scientist)

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Actions sur les données dans le Big Data

Étude de la qualité

Plusieurs actions :
I contrôler les entrées
I connaı̂tre l’impact des erreurs potentielles sur les données
I détection des inexactitudes ou des absences de données
I nettoyage des données (50 à 90 % du temps du métier de
data-scientist)
Un cinquième V du Big Data: la Véracité

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Actions sur les données dans le Big Data

Indexation

I consiste à ajouter des méta-données métiers permettant le requêtage


des données
I semi-structuration des données
I métier de ”data scientist”
I détection automatique d’informations (numéro de tel, carte de
crédit, adresse, etc.)
I exemple de produit : splunk, graylog, logstash

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Actions sur les données dans le Big Data

Streaming ou traitement d’évènements

Objectif de temps de réponse d’un traitement


Deux appellations de traitement de flux de données :
I streaming (flux en continu)
I traitement d’évènements complexes (CEP : Complex Event
Processing)
Exemple de produit : RabbitMQ, Apex, Storm, Kafka

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Actions sur les données dans le Big Data

Analyses
Chercher une aiguille dans une meule de foin !

Sylvain Allemand Introduction aux technologies et applications Big Data


Le Big Data Quelques exemples

Quelques exemples
Spotify :
I 30 millions de morceaux de musique, 75 millions d’utilisateurs, +
d’un milliard de listes d’écoute
I 10 To d’évènements utilisateurs par jour
I objectif : promotion des artistes et des labels, diffusion de publicités

Sylvain Allemand Introduction aux technologies et applications Big Data


Hadoop

Hadoop

I logiciel open source de la fondation Apache


I dédié au stockage et au traitement de larges volumes de données
I créé par Doug Cutting en 2004
I deux composants :
I parallélisation des données (HDFS)
I analyse des données (MapReduce)

Sylvain Allemand Introduction aux technologies et applications Big Data


Hadoop

Hadoop - écosystème

Sylvain Allemand Introduction aux technologies et applications Big Data


Hadoop

Hadoop
I Mode maı̂tre-esclaves

Sylvain Allemand Introduction aux technologies et applications Big Data


Hadoop

Hadoop

Sylvain Allemand Introduction aux technologies et applications Big Data


Hadoop

Hadoop - HDFS

I stockage WORM (Write Once Read Many)


I performance en terme de débit, pas en terme de latence
I les données sont découpées en bloc de 128 Mo répliquées 3 fois
I gestion de l’emplacement des différents blocs et leur répliques gérée
par le NameNode
I parallélisme massif (les clients s’adressent aux datanodes)
I passage à l’échelle : de 2 à plus de 10 000 (le plus gros actuellement
connu)

Sylvain Allemand Introduction aux technologies et applications Big Data


Hadoop

Hadoop- HDFS - Rack Awareness

Sylvain Allemand Introduction aux technologies et applications Big Data


Hadoop

Hadoop - MapReduce

I Jobtracker
I chargé de la coordination
I reparti les taches sur les tasktracker
I une instance par cluster
I Tasktracker
I exécute les taches
I présent sur chaque ”datanode”

Sylvain Allemand Introduction aux technologies et applications Big Data


Hadoop

Hadoop - MapReduce

Sylvain Allemand Introduction aux technologies et applications Big Data


Hadoop

Hadoop - TP

A vous de jouer !
https://plmlab.math.cnrs.fr/anf2018/bd-hadoop

Sylvain Allemand Introduction aux technologies et applications Big Data


Base de données non-relationnelles

Base de données non-relationnelles

Fin des années 90, les bases de données relationnelles atteignent leur
limite.
Caractéristiques des bases de données non-relationnelles :
I abandon de requêtage SQL, d’où le nom NoSQL
I abandon du modèle relationnel, puisque les BDD non-relationnelles
sont adaptées à ingérer des données non-structurées
I perte des qualités d’intégrité et de cohérence (ACID)
I enregistrement et extraction des données rapides

Sylvain Allemand Introduction aux technologies et applications Big Data


Base de données non-relationnelles ACID/BASE

ACID

Propriétés fondamentales des BDD relationnelles :


atomicité : un ensemble de modifications a lieu entièrement ou pas
du tout
cohérence : toute transaction laisse la base dans un état cohérent
isolation : les transactions n’interfèrent pas les unes avec les autres
durabilité : les transactions achevées perdurent même après le
redémarrage du serveur

Sylvain Allemand Introduction aux technologies et applications Big Data


Base de données non-relationnelles ACID/BASE

BASE

Propriétés des BDD non-relationnelles :


Basic Availability (BA) : relâchement des contraintes au profit de la
disponibilité
Soft state (S) : la base NoSQL n’a pas à être cohérente à tout
instant
Eventual consistency (E) : cohérence différée
En résumé : la disponibilité des données est favorisée au détriment de la
cohérence

Sylvain Allemand Introduction aux technologies et applications Big Data


Base de données non-relationnelles ACID/BASE

Théoreme CAP

Exposé par Brewer en 1999, 3 propriétés fondamentales pour caractériser


les bases de données (relationnelles, NoSQL et autres) :
Consistency : système dans un état cohérent après une opération
Availability : le système répond toujours
Partition tolerance : tolérance au partitionnement (distribution)

Dans toute BDD, vous ne pouvez respecter au plus que 2 propriétés

Sylvain Allemand Introduction aux technologies et applications Big Data


Base de données non-relationnelles ACID/BASE

Théorème CAP

Sylvain Allemand Introduction aux technologies et applications Big Data


Base de données non-relationnelles ACID/BASE

Théorème CAP

Sylvain Allemand Introduction aux technologies et applications Big Data


Base de données non-relationnelles Catégories des bases NoSQL

Les types des bases NoSQL

Quatre types de bases NoSQL


I Bases clé-valeur
I Bases orientées colonnes
I Bases orientées documents
I Bases orientées graphes

Sylvain Allemand Introduction aux technologies et applications Big Data


Base de données non-relationnelles Catégories des bases NoSQL

Bases ”clé-valeur”

Les données sont associées à une clé

Clé : numéro de carte


1234 Dupont ; Jacques ; 01/01/1901
5678 Dupont ; Henri ; 02/02/1902

Logiciels : MemCached, Redis, Aerospike

Sylvain Allemand Introduction aux technologies et applications Big Data


Base de données non-relationnelles Catégories des bases NoSQL

Bases ”colonnes”

Correspond à une table où (à la différence des BDD relationnelles)


chaque ligne est associée à un nombre variable de colonnes, pouvant aller
jusqu’à plusieurs millions.

ID carte Patronyme Prénom Age Adresse email


1234 Dupont Jacques 117 Rue du pont
5678 Dupont Henri 116
9012 Martin martin@x.y

Les index sont clé de ligne, clé de colonne, horodatage.


Logiciels : HBase, Cassandra

Sylvain Allemand Introduction aux technologies et applications Big Data


Base de données non-relationnelles Catégories des bases NoSQL

Bases ”documents”

Des objets appelés ”documents” stockent les données sous forme


d’attributs où chaque attribut peut être un autre document. Un
document est une entité atomique Les index sont le nom des champs.

{
"nom": "Dupont",
"age": 117,
"adresse": {
"rue": "rue du pont",
"ville": "Paris"
}
}

Logiciels : CouchBase , MongoDB

Sylvain Allemand Introduction aux technologies et applications Big Data


Base de données non-relationnelles Catégories des bases NoSQL

Bases ”graphes”
Représentation de noeuds, de liens entre ces noeuds qui correspondent à
des jointures dans le monde relationnel, et des propriétés de ces liens.
I graphes de propriétés : noeuds et liens.
I graphe de triples de Resource Description Framework. Un triple
RDF : sujet − > prédicat − > objet
Les bases ”graphes” conviennent à de nombreux domaines : relations
sociales entre individus, réseau de transport, etc. Elles permettent de
réaliser des millions de jointures par seconde

Logiciel : Neo4J

Sylvain Allemand Introduction aux technologies et applications Big Data


Base de données non-relationnelles Catégories des bases NoSQL

NewSQL

NewSQL regroupe les bases qui tentent de lier la puissance des bases
NoSQL aux qualités ACID des BDD relationnelles.
I NoSQL se tournant vers le relationnel (MemSQL)
I relationnel intégrant des concepts du NoSQL (VoltDB)

Sylvain Allemand Introduction aux technologies et applications Big Data


Base de données non-relationnelles Catégories des bases NoSQL

Les bases de données et les GPU

Plusieurs bases de données accentuent leur puissance de traitement par


l’emploi de GPU :
I Kinetica
I Blazegraph

Sylvain Allemand Introduction aux technologies et applications Big Data


Base de données non-relationnelles Catégories des bases NoSQL

Du SQL sur du non-structuré

Selon la situation, il peut être utile de requêter en SQL. Des outils ont
été conçus :
I Hive (Hive SQL)
I Big SQL

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

MongoDB

I Base de données orientée documents (format JSON)


I NoSQL
I Développement démarré en 2007, ecrit en C++
I multi-plateforme

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

MongoDB

I chaque serveur MongoDB peut contenir un ensemble de bases de


données
I chaque base de données peut contenir plusieurs collections
I chaque collection peut contenir un ensemble de documents

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

Fonctionnalités principales

I indexation (64 index max par collection)


I replication (replica set)
I distribution de charge (sharding)
I MapReduce + Aggregation
I Collections circulaires (Capped collection)

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

Indexation

Types d’index :
I Single Field Indexes
I Compound Indexes
I Multikey Indexes
I Geospatial Indexes
I Text Indexes

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

Indexation

Types d’index :
I Single Field Indexes

I Compound Indexes
I Multikey Indexes
I Geospatial Indexes
I Text Indexes

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

Indexation

Types d’index :
I Single Field Indexes
I Compound Indexes

I Multikey Indexes
I Geospatial Indexes
I Text Indexes

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

Indexation
Types d’index :
I Single Field Indexes
I Compound Indexes
I Multikey Indexes

I Geospatial Indexes
I Text Indexes Sylvain Allemand Introduction aux technologies et applications Big Data
MongoDB

Indexation

Types d’index :
I Single Field Indexes

I Compound Indexes
I Multikey Indexes
I Geospatial Indexes
I Text Indexes
Propriétés d’index :
I TTL Indexes
I Unique Indexes
I Sparse Indexes
I Partial Indexes

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

Réplication - Replica Set

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

Haute-Disponibilité
I Un replica set rend le système hautement disponible en proposant un
mécanisme de gestion de panne (failover)
I Lors de la panne d’un maı̂tre, le système déclenche un mécanisme
d’élection d’un nouveau maı̂tre

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

Distribution de charge - Sharding

I Le sharding est une méthode de distribution de données sur un


ensemble de noeuds
I Passage à l’échelle horizontal (scale-out)
I Les documents sont partagés dans des chunks (64 Mo max) qui sont
distribués sur les noeuds du cluster

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

Distribution de charge - Sharding


3 types d’instances mongo :
I Shard
I Router (mongos)
I Serveur de configuration

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

Distribution de charge - Clé de Sharding

I Champ indexé qui permet de déterminer le shard dans lequel


sera/est stocké un document
I Range-bases sharding
I Hash-bases sharding

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

Distribution de charge - Clé de Sharding

I Champ indexé qui permet de déterminer le shard dans lequel


sera/est stocké un document
I Range-bases sharding

Les clés de sharding ”proches” sont dans le meme chunk.


I Hash-bases sharding

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

Distribution de charge - Clé de Sharding

I Champ indexé qui permet de déterminer le shard dans lequel


sera/est stocké un document
I Range-bases sharding
I Hash-bases sharding

les clés de sharding ”proches” ne sont pas nécessairement dans le


même chunck. Meilleure distribution des documents sur le cluster

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

MapReduce

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

Aggregation Pipeline

Sylvain Allemand Introduction aux technologies et applications Big Data


MongoDB

MongoDB - TP

à vous de jouer !
https://plmlab.math.cnrs.fr/anf2018/bd-mongodb

Sylvain Allemand Introduction aux technologies et applications Big Data


Apprentissage : Machine Learning, Deep Learning

Apprentissage

Sylvain Allemand Introduction aux technologies et applications Big Data


Apprentissage : Machine Learning, Deep Learning

Neurone artificiel

Sylvain Allemand Introduction aux technologies et applications Big Data


Apprentissage : Machine Learning, Deep Learning

Réseaux de neurones

Sylvain Allemand Introduction aux technologies et applications Big Data


Apprentissage : Machine Learning, Deep Learning

Machine Learning

Sylvain Allemand Introduction aux technologies et applications Big Data


Apprentissage : Machine Learning, Deep Learning

Machine Learning

Sylvain Allemand Introduction aux technologies et applications Big Data


Apprentissage : Machine Learning, Deep Learning

Machine Learning

Sylvain Allemand Introduction aux technologies et applications Big Data


Apprentissage : Machine Learning, Deep Learning

Deep Learning

Sylvain Allemand Introduction aux technologies et applications Big Data


Apprentissage : Machine Learning, Deep Learning

ImageNet

Sylvain Allemand Introduction aux technologies et applications Big Data


Apprentissage : Machine Learning, Deep Learning

Bibliographie et sources

G. Chesnot. Big data et cloud: Stockage et traitement de données


du futur. Vuibert, 2017. isbn: 9782311404944.
T. Davenport. Stratégie Big Data. Apprendre, toujours. Pearson,
2014. isbn: 9782744066177.
ScienceEtonnant. Le deep learning. Youtube. 2016. url:
https://www.youtube.com/watch?v=trWrEWfhTVg.
Radu Tudoran. “High-Performance Big Data Management Across
Cloud Data Centers”. Theses. ENS Rennes, Dec. 2014. url:
https://tel.archives-ouvertes.fr/tel-01093767.

Sylvain Allemand Introduction aux technologies et applications Big Data

Vous aimerez peut-être aussi