Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees...
Transcript of Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees...
Introduction aux technologies et applications BigData
Sylvain Allemand
ANF 2018
Sylvain Allemand Introduction aux technologies et applications Big Data
Sommaire
Le Big DataLes defis du Big DataPrincipes des infrastructures materielles et logicielles du Big DataActions sur les donnees dans le Big DataQuelques exemples
Hadoop
Base de donnees non-relationnellesACID/BASECategories 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 webcommercial, premier site e-commerce ”books.com”
1994 : premier paiement en ligne securise realise sur le siteNetMarket
1995 : debut de l’e-commerce (Pizza Hut, Amazon, Ebay)Apparition de nouveaux modeles :
I B2C : business-to-consumerI C2C : consumer-to-consumerI 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 partages sur Snapshat
I 4 millions de recherches realisees sur Google
Dans le monde commercial :
I Walmart produit 40 peta-octets par jour
De multiples sources : reseaux sociaux, applications mobiles, differentscapteurs (montre, suivi d’activite), systemes 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 refere a l’accroissement exponentielle des donnees, autraitement de ces dernieres ou de maniere plus generale a toutes lesetapes entrant en jeu dans le processus d’extraction d’informations utilesa partir d’enormes lots de donnees 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 Velocite
I Variete
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data
Le Big Data
Les 3 V du Big Data :
I Volume : la quantite de donnees augmente ! 1 peta-octets toutes les15 secondes !
I est-ce que ca va continuer ?I oui ! l’industrie est prete (disques de 10To, bandes de 185 To en
2020, etc.)I un obstacle ?
I l’energie ! Actuellement l’industrie de l’information consomme entre5 et 10% de l’energie mondiale
I Velocite
I Variete
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data
Le Big Data
Les 3 V du Big Data :
I Volume
I Velocite : vitesse a laquelle les donnees sont genereesI entraıne des difficultes technologiques de traitement et d’analyse
I Variete
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data
Le Big Data
Les 3 V du Big Data :
I Volume
I Velocite
I Variete : variete des types et des sourcesI types : texte, audio, video, email, flux de clics, donnees de
geolocalisation, etc.I sources humaines (mails, clics, etc.) ou des machines (logs, capteurs,
sondes, etc.)I La variete engendre des donnees non-structurees !
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data
Le Big Data
Les 3 V du Big Data :
I Volume
I Velocite
I Variete
I Valeur : represente le gain que peuvent apporter les donnees
”When an online service is free, you’re not the customer, you’rethe product” (Tim Cook)
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data
En resume
Etre dans le Big Data, c’est rencontrer une evolution significative dans unseul ou dans plusieurs des 3V.Si les bases de donnees relationnelles avaient pu gerer les 3V, on neparlerait pas de Big Data.
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Les defis du Big Data
Les defis du Big Data
I Stockage : les grands volumes resultent d’une agregation d’unensemble d’entrepots de stockage, eventuellement sur differents sites
I Passage a l’echelle, elasticiteMaıtriser les couts d’acquisition, d’administration et de maintenance
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Principes des infrastructures materielles et logicielles du Big Data
Principes des infrastructures materielles et logicielles duBig Data
I Paralleliser le stockage
I Paralleliser le traitement
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Principes des infrastructures materielles et logicielles du Big Data
La parallelisation du stockage
I une multitude de petits serveurs de stockage
I une couche logicielle de gestion, supervision, detection d’erreursObjectifs :
I protection des donnees par replicationI faciliter le scale-out
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Principes des infrastructures materielles et logicielles du Big Data
Differentes 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 materielles et logicielles du Big Data
Differentes architectures de stockage
I maitre-esclaves (1 serveur de meta donnees) : Hadoop
I maitres-esclaves
I p2p ou maitre-maitre
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Principes des infrastructures materielles et logicielles du Big Data
Differentes architectures de stockage
I maitre-esclaves
I maitres-esclaves (x serveurs de meta-donnees) => Mongodb
I p2p ou maitre-maitre
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Principes des infrastructures materielles et logicielles du Big Data
Differentes architectures de stockage
I maitre-esclaves
I maitres-esclaves
I p2p ou maitre-maitre (serveur de stockage = serveur demeta-donnees) => utilise un algorithme pour decouper/placer lesdonnees.
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Principes des infrastructures materielles et logicielles du Big Data
Differentes architectures de stockage
I Architecture multisite
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Principes des infrastructures materielles et logicielles du Big Data
La parallelisation des traitements
Les demandes de traitement sont envoyees aux serveurs de stockage etparallelisees. => Localisation des donnees importante !Paradigme le plus celebre :
I Map Reduce
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Principes des infrastructures materielles et logicielles du Big Data
MapReduce
Propose par Google en 2004, deux fonctions principales executees demaniere sequentielle :
Map est appliquee en parallele sur chaque partition de donnees.Exemple : compter les occurrences de mots dans chaquepartition ou chercher un motif
Reduce recoit en entree un ou plusieurs resultats intermediaires etexecute un ensemble d’operations, typiquement un tri ouune fusion, et produit un resultat
L’adoption globale de MapReduce a motive son amelioration avec denouvelles extensions (HALoop, BigSQL, etc.)
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Principes des infrastructures materielles et logicielles du Big Data
MapReduce
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Principes des infrastructures materielles et logicielles du Big Data
Quelques remarques
I plus besoin de sauvegarde (replication) !
I tache d’administration constante quel que soit la taille du systemeBig Data
I la gestion des meta-donnees reste l’obstacle technique principal aupassage a l’echelle actuellement
I la duree de vie des donnees peut etre infinie !
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Actions sur les donnees dans le Big Data
Actions sur les donnees dans le Big Data
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Actions sur les donnees dans le Big Data
Ingestion des donnees
Plusieurs problematiques se posent lorsque le volume en entree est tropimportant (exemple du SKA) :
I reduction par calcul des donnees
I traiter au plus pres des sources de donnees
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Actions sur les donnees dans le Big Data
Stockage : le lac de donnees
I processus ELT (Extract Load Transform) 6= ETL (Extract TransformLoad)
I espace de donnees utilise pour stocker les donnees dans leur formatnatif, en attendant d’etre analysees
I presente une architecture a plat 6= un entrepot de donnees consigneles donnees de maniere hierarchique, dans des fichiers ou dossiers
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Actions sur les donnees dans le Big Data
Etude de la qualite
Les sources et les formes sont heterogenes ou indignes de confiance :capteurs defectueux, erreurs d’orthographe dans une publicationFacebook, fraude ou comportement malicieux...Plusieurs actions :
I controler les entrees
I connaıtre l’impact des erreurs potentielles sur les donnees
I detection des inexactitudes ou des absences de donnees
I nettoyage des donnees (50 a 90 % du temps du metier dedata-scientist)
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Actions sur les donnees dans le Big Data
Etude de la qualite
Plusieurs actions :
I controler les entrees
I connaıtre l’impact des erreurs potentielles sur les donnees
I detection des inexactitudes ou des absences de donnees
I nettoyage des donnees (50 a 90 % du temps du metier dedata-scientist)
Un cinquieme V du Big Data: la Veracite
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Actions sur les donnees dans le Big Data
Indexation
I consiste a ajouter des meta-donnees metiers permettant le requetagedes donnees
I semi-structuration des donnees
I metier de ”data scientist”
I detection automatique d’informations (numero de tel, carte decredit, adresse, etc.)
I exemple de produit : splunk, graylog, logstash
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Actions sur les donnees dans le Big Data
Streaming ou traitement d’evenements
Objectif de temps de reponse d’un traitementDeux appellations de traitement de flux de donnees :
I streaming (flux en continu)
I traitement d’evenements complexes (CEP : Complex EventProcessing)
Exemple de produit : RabbitMQ, Apex, Storm, Kafka
Sylvain Allemand Introduction aux technologies et applications Big Data
Le Big Data Actions sur les donnees 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’ecouteI 10 To d’evenements utilisateurs par jourI objectif : promotion des artistes et des labels, diffusion de publicites
Sylvain Allemand Introduction aux technologies et applications Big Data
Hadoop
Hadoop
I logiciel open source de la fondation Apache
I dedie au stockage et au traitement de larges volumes de donnees
I cree par Doug Cutting en 2004
I deux composants :I parallelisation des donnees (HDFS)I analyse des donnees (MapReduce)
Sylvain Allemand Introduction aux technologies et applications Big Data
Hadoop
Hadoop - ecosysteme
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 debit, pas en terme de latence
I les donnees sont decoupees en bloc de 128 Mo repliquees 3 fois
I gestion de l’emplacement des differents blocs et leur repliques gereepar le NameNode
I parallelisme massif (les clients s’adressent aux datanodes)
I passage a l’echelle : de 2 a plus de 10 000 (le plus gros actuellementconnu)
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 JobtrackerI charge de la coordinationI reparti les taches sur les tasktrackerI une instance par cluster
I TasktrackerI execute les tachesI present 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 donnees non-relationnelles
Base de donnees non-relationnelles
Fin des annees 90, les bases de donnees relationnelles atteignent leurlimite.Caracteristiques des bases de donnees non-relationnelles :
I abandon de requetage SQL, d’ou le nom NoSQL
I abandon du modele relationnel, puisque les BDD non-relationnellessont adaptees a ingerer des donnees non-structurees
I perte des qualites d’integrite et de coherence (ACID)
I enregistrement et extraction des donnees rapides
Sylvain Allemand Introduction aux technologies et applications Big Data
Base de donnees non-relationnelles ACID/BASE
ACID
Proprietes fondamentales des BDD relationnelles :
atomicite : un ensemble de modifications a lieu entierement ou pasdu tout
coherence : toute transaction laisse la base dans un etat coherent
isolation : les transactions n’interferent pas les unes avec les autres
durabilite : les transactions achevees perdurent meme apres leredemarrage du serveur
Sylvain Allemand Introduction aux technologies et applications Big Data
Base de donnees non-relationnelles ACID/BASE
BASE
Proprietes des BDD non-relationnelles :
Basic Availability (BA) : relachement des contraintes au profit de ladisponibilite
Soft state (S) : la base NoSQL n’a pas a etre coherente a toutinstant
Eventual consistency (E) : coherence differee
En resume : la disponibilite des donnees est favorisee au detriment de lacoherence
Sylvain Allemand Introduction aux technologies et applications Big Data
Base de donnees non-relationnelles ACID/BASE
Theoreme CAP
Expose par Brewer en 1999, 3 proprietes fondamentales pour caracteriserles bases de donnees (relationnelles, NoSQL et autres) :
Consistency : systeme dans un etat coherent apres une operation
Availability : le systeme repond toujours
Partition tolerance : tolerance au partitionnement (distribution)
Dans toute BDD, vous ne pouvez respecter au plus que 2 proprietes
Sylvain Allemand Introduction aux technologies et applications Big Data
Base de donnees non-relationnelles ACID/BASE
Theoreme CAP
Sylvain Allemand Introduction aux technologies et applications Big Data
Base de donnees non-relationnelles ACID/BASE
Theoreme CAP
Sylvain Allemand Introduction aux technologies et applications Big Data
Base de donnees non-relationnelles Categories des bases NoSQL
Les types des bases NoSQL
Quatre types de bases NoSQL
I Bases cle-valeur
I Bases orientees colonnes
I Bases orientees documents
I Bases orientees graphes
Sylvain Allemand Introduction aux technologies et applications Big Data
Base de donnees non-relationnelles Categories des bases NoSQL
Bases ”cle-valeur”
Les donnees sont associees a une cle
Cle : numero de carte1234 Dupont ; Jacques ; 01/01/19015678 Dupont ; Henri ; 02/02/1902
Logiciels : MemCached, Redis, Aerospike
Sylvain Allemand Introduction aux technologies et applications Big Data
Base de donnees non-relationnelles Categories des bases NoSQL
Bases ”colonnes”
Correspond a une table ou (a la difference des BDD relationnelles)chaque ligne est associee a un nombre variable de colonnes, pouvant allerjusqu’a plusieurs millions.
ID carte Patronyme Prenom Age Adresse email1234 Dupont Jacques 117 Rue du pont5678 Dupont Henri 1169012 Martin [email protected]
Les index sont cle de ligne, cle de colonne, horodatage.Logiciels : HBase, Cassandra
Sylvain Allemand Introduction aux technologies et applications Big Data
Base de donnees non-relationnelles Categories des bases NoSQL
Bases ”documents”
Des objets appeles ”documents” stockent les donnees sous formed’attributs ou chaque attribut peut etre un autre document. Undocument est une entite 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 donnees non-relationnelles Categories des bases NoSQL
Bases ”graphes”
Representation de noeuds, de liens entre ces noeuds qui correspondent ades jointures dans le monde relationnel, et des proprietes de ces liens.
I graphes de proprietes : noeuds et liens.I graphe de triples de Resource Description Framework. Un triple
RDF : sujet − > predicat − > objet
Les bases ”graphes” conviennent a de nombreux domaines : relationssociales entre individus, reseau de transport, etc. Elles permettent derealiser des millions de jointures par seconde
Logiciel : Neo4J
Sylvain Allemand Introduction aux technologies et applications Big Data
Base de donnees non-relationnelles Categories des bases NoSQL
NewSQL
NewSQL regroupe les bases qui tentent de lier la puissance des basesNoSQL aux qualites ACID des BDD relationnelles.
I NoSQL se tournant vers le relationnel (MemSQL)
I relationnel integrant des concepts du NoSQL (VoltDB)
Sylvain Allemand Introduction aux technologies et applications Big Data
Base de donnees non-relationnelles Categories des bases NoSQL
Les bases de donnees et les GPU
Plusieurs bases de donnees accentuent leur puissance de traitement parl’emploi de GPU :
I Kinetica
I Blazegraph
Sylvain Allemand Introduction aux technologies et applications Big Data
Base de donnees non-relationnelles Categories des bases NoSQL
Du SQL sur du non-structure
Selon la situation, il peut etre utile de requeter en SQL. Des outils ontete concus :
I Hive (Hive SQL)
I Big SQL
Sylvain Allemand Introduction aux technologies et applications Big Data
MongoDB
MongoDB
I Base de donnees orientee documents (format JSON)
I NoSQL
I Developpement demarre 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 dedonnees
I chaque base de donnees peut contenir plusieurs collections
I chaque collection peut contenir un ensemble de documents
Sylvain Allemand Introduction aux technologies et applications Big Data
MongoDB
Fonctionnalites 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 IndexesI Compound IndexesI Multikey Indexes
I Geospatial IndexesI 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
Proprietes d’index :
I TTL Indexes
I Unique Indexes
I Sparse Indexes
I Partial Indexes
Sylvain Allemand Introduction aux technologies et applications Big Data
MongoDB
Replication - Replica Set
Sylvain Allemand Introduction aux technologies et applications Big Data
MongoDB
Haute-Disponibilite
I Un replica set rend le systeme hautement disponible en proposant unmecanisme de gestion de panne (failover)
I Lors de la panne d’un maıtre, le systeme declenche un mecanismed’election d’un nouveau maıtre
Sylvain Allemand Introduction aux technologies et applications Big Data
MongoDB
Distribution de charge - Sharding
I Le sharding est une methode de distribution de donnees sur unensemble de noeuds
I Passage a l’echelle horizontal (scale-out)
I Les documents sont partages dans des chunks (64 Mo max) qui sontdistribues 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 - Cle de Sharding
I Champ indexe qui permet de determiner le shard dans lequelsera/est stocke un document
I Range-bases shardingI Hash-bases sharding
Sylvain Allemand Introduction aux technologies et applications Big Data
MongoDB
Distribution de charge - Cle de Sharding
I Champ indexe qui permet de determiner le shard dans lequelsera/est stocke un document
I Range-bases sharding
Les cles 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 - Cle de Sharding
I Champ indexe qui permet de determiner le shard dans lequelsera/est stocke un document
I Range-bases shardingI Hash-bases sharding
les cles de sharding ”proches” ne sont pas necessairement dans lememe 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
a 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
Reseaux 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 donneesdu futur. Vuibert, 2017. isbn: 9782311404944.
T. Davenport. Strategie 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 AcrossCloud Data Centers”. Theses. ENS Rennes, Dec. 2014. url:https://tel.archives-ouvertes.fr/tel-01093767.
Sylvain Allemand Introduction aux technologies et applications Big Data