Intro BigData 4p
Intro BigData 4p
Intro BigData 4p
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 1 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 2
Documents :
• C. Strauch, « NoSQL databases », Lecture Notes, Stuttgart Media University, 2011.
• S. K. Gajendran, « A Survey on NoSQL Databases ».
• S. Abiteboul, I. Manolescu, P. Rigaux, M-C Rousset, P. Senellart, « Web Data Management »,
Cambridge University Press 2011 (en ligne : http://webdam.inria.fr/Jorge/?action=chapters).
• J. Dean and S. Ghemawat, « MapReduce: Simplified Data Processing on Large Clusters »,
OSDI 2004.
• B. Espinasse, P. Bellot, « Introduction au Big-Data: opportunité, stockage et analyse des
mégadonnées », in Dossiers Techniques de l'Ingénieur (DTI), Ref. H6040, 2017.
Présentations :
• F. Duchateau, « Les SGBD Non-relationnels », Univ. Lyon 1, 2014.
• P. Selmer, « NOSQL stores and Data analytics tools », Advances in Data Management, 2012.
• A.-C. Caron, « NoSQL », Université de Lille 1.
• M. Jaffré, P. Rauzy, « MapReduce », ENS, 2010. • Modèle des 3V étendu au 5V
• K. Tannir, « MapReduce : Algorithme de parallélisations des traitements », 2011,
Livres : • Mégadonnées et informatique décisionnelle
• P. Delort, « Le Big Data ». Presses Universitaires de France, 2015. • Usage des mégadonnées
• P. Lemberger, M. Batty, M. Morel, J.L. Raffeëlli, « Big Data et Machine Learning », Dunod,
2015.
• P. Lacomme, S. Aridhi, R. Phan, « Bases de données NoSQL et Bog Data », Ellipses, 2014.
• R. Bruchez, « Bases de données NoSQL », Ellipses, 2013.
• …
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 3 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 4
• Actuellement nous produisons annuellement une masse de données estimée à • Cerner ce terme Big Data ou mégadonnées, et d’introduire différentes grandes
près de 3 trillions (3 millions de millions) d’octets de données. méthodes et techniques qui s’y rattachent (notamment liées aux Data Centers),
ainsi que leur opportunités
• On estime ainsi que 90% des données dans le monde ont été créées au cours
des 2 années précédentes [1]. • On s’intéressera ici à 2 grandes problématiques :
• La masse totale des données crées et copiées de par le monde pour 2011 était • leur stockage et leur gestion / Big Data Engineering
de 1,8 Zétabytes, et s’accroit avec un facteur de 9 tous les 5 ans [2].
§ les techniques traditionnelles de stockage de type bases de données
• Tous les secteurs sont touchés, tant scientifiques qu’économiques, ainsi que le relationnelles ne permettant pas de stocker de telles quantité de données
développement des applications Web et les réseaux sociaux [3].
§ nouvelles solutions …
• Dans ce contexte, est apparu le terme « Big Data ».
• leur analyse / Big Data Analytics
• L’origine de ce terme anglo-saxon, littéralement « grosses données », est
controversée, et sa traduction française officielle recommandée est § applications à visée analytique (analyses) traitant des données pour en
“mégadonnées”, même si parfois on parle de “données massives”. tirer du sens.
[1] BRASSEUR C. Enjeux et usages du big data. Technologies, méthodes et mises en œuvre, Paris, Lavoisier, p. 30. (2013). § généralement appelées « Big Analytics », ou « Analytique » ou encore «
[2] IDC-2011, GANTZ J., REINSEL D. Extracting Value from Chaos. IDC iView, pp. 1–12. (2011).
[2] HELBING D., POURNARAS, E. Build Digital Democracy : Open Sharing of Data that are Collected with Smart Devices would Empower Citizens broyage de données », reposant généralement sur des méthodes
and Create Jobs. Nature, Vol. 527, Nov. 2015, Macmillan Publishers. (2015).
d’apprentissage et de calcul distribué.
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 5 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 6
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 7 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 8
MOOC$Architecture$de$l’information$
https://www.france;universite;numerique;mooc.fr/courses/ENSDeLyon/14002/session01/about$
• Voyagiste voyages-sncf.fr : • Fait référence à l’hétérogénéité des formats, types, et qualité des
• En moyenne 360 000 par jour (11 millions par mois) informations,
• BD relationnelle respectant les propriétés ACID • Est lié au fait que ces données peuvent présenter des formes complexes
du fait qu'elles trouvent leurs origines dans :
§ des capteurs divers et variés (température, vitesse du vent,
hygrométrie, tours/mn, luminosité...),
§ des messages échangés (e-mails, médias sociaux, échanges
AR_entetedroit Big Data et SI 27 d'images, de vidéos, musique),
§ des textes, des publications en ligne (bibliothèques numériques,
atelier spécifiquement dédié à cette thématique en octobre 201334 ainsi que sites web, blogs, ...),
l’apparition de techniques de visualisation s’appuyant sur Hadoop (Vo et al., 2011;
Chen et al., 2011). § enregistrements de transactions d'achats, des plans numérisés,
des annuaires, des informations issues des téléphones mobiles,
4. Défis du big data etc.
• Changement d’échelle : Facebook, GMail et Twitter d’une quinzaine d’année $ est
Comme le souligne le rapport du Cigref (2013), « la finalité du big data ð Usage de technologies nouvelles pour analyser et recouper les
d’existence, plusieurs centaines
des prises de de millions de visiteurs
décision et rendrepar jour !
La$base$de$données$relationnelle$du$voyagiste$voyages;sncf.fr$respecte$par$exemple$
d’améliorer l’efficacité l’ensemble de la chaîne de données non structurées (mails, photos, conversations…) représentant
valeur plus efficace ». Cependant, donner du sens aux informations
ces$critères$ACID.$Et$c’est$une$bonne$chose,$pour$les$voyageurs$comme$pour$le$ « dormantes » au moins 80 % des informations collectées.
fait face à plusieurs défis : créer une démarche d’entreprise et intégrer des
voyagiste.$Mais$cela$correspond$à$seulement$11$millions$de$visiteurs$uniques$par$
compétences
Bernard plurielles,
ESPINASSE - Introduction considérer
aux mégadonnées 9
la qualité des données et les aspects éthiques.
(Big Data) Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 10
mois,$de$l’ordre$de$360$000$par$jour$:$c’est$gérable$avec$une$base$de$données$
4.1. Démarche d’entreprise
relationnelle$.$
A$l’échelle$du$web,$c’est$minuscule.$Regardons$trois$services$qui$ont$seulement$une$
Le big data touche a priori tous les secteurs puisque tous sont soit producteur,
soit collecteur de données, soit les deux. Le taux de pénétration des données
dizaine$d’années,$Facebook,$GMail$et$Twitter.$
numériques dans les différents secteurs présenté dans l’étude de McKinsey l’illustre
Type de données générées et$ stockées par secteurs d’activité (Mc Kinsey) :
$bien (voir Figure 2). • Fait référence à l’aspect dynamique et/ou temporel des données, à
leur délai d’actualisation et d’analyse ,
En 2013, McKinsey Global Institute : • fait référence aussi au niveau de la confiance que l’on peut avoir dans les
- dans les seuls Etats Unis, il manquerait environ 150 000 personnes données.
avec une expertise en analyse de Big Data,
- le système de santé américain pourrait créer 300 milliards de ð S’il existe des critères permettant de qualifier la qualité des données, dans le
dollars de valeur par an dont deux tiers correspondrait à des cas de Big Data, la vérification de la qualité est rendue difficile voire
réductions de coût d’environ 8%. impossible du fait du volume, de la variété et de la vélocité spécifiques au Big
Data.
ð Les termes de « Data Scientist » et de « Data Science » sont liés à cette
expertise recherchée et à cette nouvelle discipline émergente.
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 13 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 14
Mégadonnées (Big Data) = Informatique Décisionnelle et les Mégadonnées ont vocation à stocker
• des données qui : et analyser des masses de données très importantes
§ sont trop volumineuses L’informatique décisionnelle (ID) - Business Intelligence (BI) - est
§ ou ayant une arrivée trop rapide apparue dans les années 1990 en management et en informatique :
§ ou une variété trop grande • L’ID appréhende des données volumineuses principalement historisée et
• pour : orientées sujet, stockées dans des entrepôts de données.
§ permettre de les ranger directement dans des bases de • Caractéristiques des données traitées :
données traditionnelles (Relationnelles)
§ multidimensionnelles, fortement structurées selon un modèle
§ ou de les traiter par les algorithmes actuels » [4]. défini, de forte densité en information, et principalement
numériques,
§ Masses de données très importantes : Informatique
Décisionnelle Versus Mégadonnées ? § stockées dans des entrepôts de données ou dans des cubes.
[5] DAVENPORT, T. H. Competing on Analytics, Harvard Business Review (84:1), pp. 98-107. (2006).
[4] MOTHE J., PITARCH Y., GAUSSIER E. Big Data: Le cas des systèmes d’information, Revue Ingénierie des Systèmes d’Information, Hermès
Editeur, Vol. 19/3, (2014).
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 15 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 16
Business Analytics introduit fin des années 2000, composante analytique Les mégadonnées :
clé dans la ID [5] permettant des analyses :
• Concernent des données bien plus volumineuses que celles traitées par l’ID,
• principalement réalisées par des opérateurs d’analyse en ligne OLAP (On Line structurées ou non structurées, et de faible densité en information.
Analysis Processing) sur de cubes extraits de ces entrepôts, ou par des
• utilisent les statistiques inférentielles (ou inductive), pour inférer des lois
techniques de fouille de données (Data Mining),
(régressions....)
• reposant principalement sur des agrégations et grâce à des opérateurs OLAP
spécifiques, ou méthodes de fouille de données (datamining), Statistiques inférentielles :
• permettant de mesurer des phénomènes, notamment pour détecter des • utilisent la théorie des probabilités pour restreindre le nombre d’individus en
tendances, faisant des sondages sur des échantillons,
• s’appuient principalement sur la statistique descriptive • précisent un phénomène sur une population globale, par observation sur une
Statistique descriptive (ou exploratoire) : partie restreinte de cette population (échantillon),
• permettent d’induire (inférer) du particulier au général avec un objectif
• décrire des données à travers leur présentation (la plus synthétique possible), principalement explicatif, par des modèles et d’hypothèses probabilistes,
leur représentation graphique, et le calcul de résumés numériques. • donnent aux mégadonnées des capacités prédictives [5],
• intéressante mais coûteuse car reposant sur des enquêtes portant sur un • permettent de faire intervenir une part de hasard (théorie des tests
nombre d'individus important d'hypothèses).
• Ne fait PAS fait appel à des modèles probabilistes
[5] CATTELL R. (2011). Scalable SQL and NoSQL data stores. ACM SIGMOD Record, 39(4), pp. 12- 27.
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 17 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 18
• Loin de les opposer, Informatique décisionnelle et mégadonnées peuvent • Les Mégadonnées ou Big Data sont dès à présent utilisées
s’enrichir l’un l’autre :
dans TOUS les secteurs d’activités, tant scientifiques,
§ l’Informatique Décisionnelle apporte aux mégadonnées ses méthodes techniques que socio-économiques,
de conception d’entrepôts et d’analyse,
« ... depuis les données récupérées de l’exploitation de
§ les mégadonnées apportent notamment ses architectures de stockage
distribuées et ses analyses à larges échelles basées sur les statistiques moteurs d’avion permettant de mieux maintenir ou concevoir
inférentielles. ces derniers, …
• Pour conclure [6] : … jusqu’aux données spécifiant nos relations sur les réseaux
§ l’Informatique Décisionelle est basée sur un modèle défini du monde, sociaux pouvant être utilisées par les banques pour estimer
la qualité de notre crédit ... » [6].
§ alors que les mégadonnées visent à ce que les mathématiques
(statistique) pour trouver un modèle dans les données.
[9] DELORT, P. (2015). Le Big Data. Presses Universitaires de France.
[6] DELORT, P. (2015). Le Big Data. Presses Universitaires de France.
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 19 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 20
Permet de stocker des mégadonnées
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 21 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 22
• Les serveurs communiquent par envoi de messages, ils ne partagent pas DATA CENTER 1
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 23 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 24
Les mégadonnées nécessitent un stockage et une gestion des données fortement
• Ex. : Data center de Google (début 2010) : distribuées sur des clusters (serveurs, data centers, …)
§ Un « Data center » Google contient entre 100 et 200 « Racks », chacun On distingue 2 stratégies de traitement des mégadonnées :
contenant 40 serveurs • Par distribution des traitements (« scaling » des traitements) :
§ environ 5000 serveurs par « Data-center » pour un total de 1 millions § on distribue ces traitements sur un nombre de machines important afin
de serveurs (estimation d’après la consommation électrique) ; d’absorber des charges très importantes
§ on envoie les données aux endroits appropriés, et on enchaîne les
§ Estimation Garner de 2,5 millions de servers pour Google en 2016 … exécutions distantes (scénario type Workflow implémenté avec des Web
services)
• Ex. : Data center de Facebook (2010) :
ð Par distribution des données (« scaling » des données) :
§ 2500 cpu (serveurs) § on distribue les données sur un nombre important de serveurs afin de
stocker de très grands volumes de données – (sharding & consistant
§ 1 PetaByte d’espace disque (= milleTerabytes = 1 million de Gigabytes) hashing)
§ Plus de 250 Gigabytes de données compressées (plus de 2 Terabytes § on « pousse » les programmes vers ces serveurs (plus efficace de
non compressés) transférer un petit programme sur le réseau plutôt qu'un grand volume de
données – (modèle de programmation parallèle MapReduce).
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 25 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 26
Le cloud :
Principales spécificités :
• une architecture composée de matériels de stockage - data centers, de
réseau et de logiciels fournissant des services que des utilisateurs peuvent • Le « Sharding » : un partitionnement des données sur plusieurs
exploiter depuis n'importe où (cloud computing). serveurs,
• un support de stockage des mégadonnées, si les besoins de stockage • Le « Consistent hashing» : un partitionnement des données sur
s’accroissent, de nouveaux serveurs sont déployés dans cette architecture plusieurs serveurs eux-mêmes partitionnés sur un segment,
de façon transparente pour l’utilisateur.
• Le « Map Reduce » : un modèle de programmation parallèle
Pour le stockage des mégadonnées sur le cloud sont généralement utilisés : permettant de paralléliser tout un ensemble de tâches à effectuer sur
• le modèle de programmation parallèle « Map Reduce » un ensemble de données,
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 27 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 28
& "
' " !
? !
"
0 " (
Suite …
Map-Reduce :
• quand un nœud quitte l’anneau, les • Modèle de programmation parallèle (framework de calcul distribué) pour le
objets qui lui sont liés sont alors associés traitement de grands ensembles de données
à leur nœud adjacent dans le sens
horaire : • développé par Google pour le traitement de gros volumes de données en
Ex : le nœud C quitte l’anneau, 3 est environnement distribué :
alors associé avec 4 et 1 au nœud A § permet de répartir la charge sur un grand nb de serveurs (cluster)
Figure 3.4.: Consistent Hashing – Initial Situation (taken from [Whi07])
• quand un nœud entre dans l’anneau, il § abstraction quasi-totale de l’infrastructure matérielle : gère entièrement,
!*!% 2!<!F!K * de façon transparente le cluster, la distribution de données, la répartition
est placé (haché) sur l’anneau et des + '"! "
objets lui seront associés selon sa de la charge, et la tolérance aux pannes
place dans l’anneau : § ajouter des machines augmente la performance (plug & play, scalable-
Ex : le nœud D entre dans l’anneau, les friendly)
objets 3 et 4 lui sont associés
• la librairie MapReduce existe dans plusieurs langages (C++, C#, Erlang,
D’après Strauch Java, Python, Ruby…)
Figure 3.5.: Consistent Hashing – Situation after Node Joining and Departure (taken from [Whi07])
be “unbalanced” which in turn results in an unbalanced distribution of cache objects on these nodes (as
it can already
Bernard ESPINASSE - Introduction aux mégadonnées be seen in the small scenario of figure 3.5 where node D has to take31
(Big Data) cache objects from a Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 32
greater interval than node A and especially node B). An approach to solve this issue is to hash a number of
representatives/replicas—also called virtual nodes—for each physical node onto the ring (cf. [Whi07], as an
example see figure 3.6). The number of virtual nodes for a physical can be defined individually according
to its hardware capacity (cpu, memory, disk capacity) and does not have to be the same for all physical
nodes. By appending e. g. a replica counter to a node’s id which then gets hashed, these virtual nodes
Usage de MapReduce en gestion de données :
Divers usages de Map-Reduce :
• Principales opérations à faire sur des grands ensembles de données :
• Utilisé par les grands acteurs du Web notamment pour : construire les 1. Itérer sur un grand nombre d’enregistrements
index (Google Search), détection de spam (Yahoo), Data Mining (Facebook) 2. Extraire quelque chose ayant un intérêt de chacun de ces
… enregistrements
• Mais aussi pour : 3. Regrouper et trier les résultats intermédiaires
§ De l’analyse d’images astronomique, de la bioinformatique, de la 4. Agréger tous ces résultats ensemble
simulation métrologique, de l’apprentissage automatique (Machine 5. Générer le résultat final
Learning), des statistiques, …
§ le calcul de la taille de plusieurs milliers
de
documents
$ ! "
, '" - " " • Dans le modèle de programmation MapReduce, le développeur
§ trouver le nb d’occurrences d’un pattern
dans un"
très'
grand volume de
implémente 2 fonctions : la fonction Map et la fonction Reduce
données § opérations 1 et 2 : fonction Map traite une paire clé/valeur et
§ classifier de très grands volumes de données provenant par exemple de génère un ensemble de paires de clés intermédiaires/valeurs
paniers d’achats de clients (Data Mining)
+) ! § opérations 3, 4 et 5 : fonction Reduce fusionne toutes les valeurs
+)
§ … & intermédiaires associées avec la même clé intermédiaire.
'? '?
"
'$ !+) '
Bernard ESPINASSE -
,8 8 -
Introduction aux mégadonnées (Big Data) 33 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 34
" ' "
" '" !"
&
"
(
• Appliqué à la BD, MapReduce traite un Fonctionnement de MapReduce :
ensemble de clés en appliquant les • Traite des données en entrée pour en fournir des résultats en sortie
fonctions Map et Reduce aux nœuds de
stockage qui appliquent localement la • Traitement constitué de plusieurs tâches dont chacune est traitée
fonction Map aux clés qui doivent être indépendamment, puis leurs résultats sont combinés
traitées et qu'ils possèdent • On distingue 3 opérations majeures :
• les résultats intermédiaires peuvent
§ Split correspond à une opération de découpage
être hachés comme des données
ordinaires et traitées par les nœuds § Compute correspond à une opération de calcul
suivants dans le sens horaire, qui
§ Join correspond à l’opération de regroupement du résultat
appliquent la fonction Reduce aux
résultats intermédiaires et produisent les
résultats finaux • Dans le modèle de programmation MapReduce, le développeur implémente
• du fait du hachage des résultats 2 fonctions :
intermédiaires, aucun coordinateur est
§ la fonction Map
utilisé pour diriger les nœuds de
traitement vers ces résultats § la fonction Reduce.
D’après Strauch
5. La phase Reduce lorsqu’un Worker de type Map a fini son traitement, le Master regroupe,
trie et renvoie le résultat à un Worker de type Reduce
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 37 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 38
worker
• l’opération se termine en 150s.
• on atteint un pic de lecture de 30Go/s
Input Map Intermediate files Reduce Output
files phase (on local disks) phase files
Inverted Index: The map function parses each docu- large clusters of commodity PCs connected together with
ment, and emits a sequence of ⟨word, document ID⟩ switched Ethernet [4]. In our environment:
pairs. The reduce function accepts all pairs for a given
Exemple : La fonction Reduce « reduceFunc » est :
On souhaite calculer le nombre de mots dans un document : reduceFunc(String key, Iterator values)
// key: un mot; values: une liste de valeurs
La fonction Map, « mapFunc » est alors : result = 0
mapFunc(String key, String value): for each count v in values
// key: id du document; result += v
EmitResult(result)
// value: contenu du document
• reduceFunc a 2 arguments :
for each word w in value
• la clé (key) correspond à un mot identifié par la fonction mapFunc
EmitIntermediate (w, 1)
• une liste de valeurs contenant le nb d’occurrences de ce mot
mapFunc a 2 arguments :
• la liste des valeurs correspond à l’ensemble des paires (mot, count) mises en
• la clé (key) identifiant le document dont on souhaite compter les mots zones intermédiaires par la fonction mapFunc
• le contenu du document (value) • pour comptabiliser tous les mots du document, on initialise la variable result
l’ensemble des valeurs est parcouru par une boucle « for each » : à 0, puis on itére sur l’ensemble des valeurs de la liste, puis chaque valeur
• pour chaque mot identifié, on appelle la méthode EmitIntermediate est rajoutée à la variable result
• à la fin de l’itération, la variable result contient le total du nb d’occurrence
• elle place dans une zone intermédiaire le mot et la valeur 1
et le résultat est renvoyé par la fonction EmitResult
(correspondant à une occurrence).
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 41 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 42
Soit un fichier document contenant 3 lignes composée chacune de 3 mots Les étapes réalisées sont :
parmi les mots {A, B, C, D}.
Il s’agit de compter tous les mots contenus dans ce fichier. • L’étape File : on lit le fichier document en entrée et on initialise
Le traitement MapReduce effectué pour compter les mots du document est :
les différents « Workers MapReduce »
• L’étape Splitting : on distribue les données à traiter sur les
différents noeuds du cluster de traitement
• L’étape Map : on effectue le compte de chacune des lettres et
ceci en local sur chaque noeud du cluster de traitement
• L’étape Suffling : on regroupe toutes les lettres ainsi que leur
compte à partir de tous les noeuds de traitement
• L’étape Reduce : on effectue le cumule de toutes les valeurs de
chaque lettre
• L’étape Result : on agrège tous les résultats des différentes
étapes Reduce et on retourne le résultat final.
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 43 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 44
Horloges vectorielles (Vector-clocks) :
Contrôle de Concurrence Multi-Version (MVCC) :
• Les ensembles de données répartis sur nœuds peuvent être lus et modifiés
• Méthode de contrôle de concurrence couramment utilisée par les SGBD sur chaque nœud et aucune cohérence stricte n’est assurée par des
pour gérer des accès simultanés à la base de données avec mises à jour protocoles de transactions distribuées
• Dans une BD NoSQL, la gestion des mises à jour est faite : Problème : comment faire des modifications concurrentes
• Une solution : les horloges vectorielles :
§ non pas en supprimant une fraction contenant les données avant
§ un vecteur d'horloge est défini comme un n-uplet V [0], V [1], ...,
modification et en la remplaçant par une fraction contenant les
V[n] des valeurs d'horloge à partir de chaque noeud.
données modifiées
§ à tout instant le noeud i maintient un vecteur d'horloge
§ mais en marquant les anciennes données comme obsolètes et en
représentant son état et celui des autres nœuds répliques : (Vi [0] =
ajoutant une nouvelle version contenant les nouvelles données
valeur de l'horloge du premier noeud, Vi [1] = valeur de l'horloge du
§ il existe ainsi plusieurs versions enregistrées, une seule est la deuxième noeud, ... Vi [i] = sa propre valeur d’horloge, ... Vi [n] =
plus récente valeur de l'horloge du dernier nœud)
§ les valeurs d'horloge peuvent être de réelles « timestamps »
• nécessite généralement un balayage périodique pour supprimer les objets
dérivées d'une horloge locale de nœud, du numéro de
de données obsolètes.
version/révision …
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 45 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 46
• Hadhoop pour « High-Availability Distributed Object- • Hadoop n'a d'intérêt que pour gérer des données de très grande taille
Oriented Platform », est un framework de référence, libre dans un environnement composé de très nombreuses machines
et open source (Data Denters) :
C’est un système distribué qui permet d’analyser, stocker et manipuler de • Hadoop :
très grandes quantités de données (Big Data).
§ fractionne les fichiers en gros blocs,
• Hadoop a été créé par Doug Cutting en 2002 pour les besoins du projet § distribue ces blocks à travers les nœuds du cluster,
« Apache Nutch », intégrant MapReduce suite à la sortie de l’article de
Google en 2004, § comprend plusieurs composants, notamment :
• Notons que Yahoo ! est un contributeur majeur au projet Hahoops • les nœuds maîtres (Master nodes),
• les nœuds travailleurs (Worker nodes – ou Slave
• Hadhoop est depuis 2008 un projet indépendant de la fondation Apache
nodes).
• Il est utilisé par les géants du web comme Yahoo!, Twitter, LinkedIn, eBay,
Amazon, …
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 47 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 48
Le framework Hadoop se compose des modules suivants :
Hadoop Distributed File Système de gestion de fichiers distribués permettant
System (HDFS) de stocker les données sur les machines du cluster
Contient les bibliothèques et les utilitaires
Hadoop Common
nécessaires aux autres modules Hadoop
Hadoop YARN (Yet Une plate-forme chargée de la gestion des
Another Resource ressources informatiques du clusters et de les utiliser
Negotiator) pour la planification des applications des utilisateurs
Une implémentation du modèle de programmation
Hadoop MapReduce MapReduce pour le traitement des données à
grande échelle
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 49 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 50
• Limites des bases de données relationnelles • Disponibilité (availability) : exigence cruciale que les données puissent être
accessibles de façon fréquente et efficace.
• Intérêt de Map Reduce et de Hadoop
• Les bases de données NoSQL • Sécurité : les données volumineuses peuvent concerner l'organisation, la
sécurité de leurs données est une grande préoccupation.
• Grands modèles de bases de données NoSQL
• Intégration : une intégration les mégadonnées avec des applications et
technologies diverses est souvent nécessaire pour créer une application
complète.
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 51 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 52
• En matière de stockage de données, les BD relationnelles restent la référence,
en garantissant le maintien des propriétés ACID (Atomicité, Cohérence,
Face aux limites des Bases de données relationnelle dans le stockage et la
Isolation et Durabilité) pour une intégrité complète de la BD. gestion des mégadonnées, de nouvelles solutions ont vu le jour :
• Pour gérer de gros volumes de données (contexte d’entrepôt de données), fidèle • permettant une meilleure scalabilité (passage à l’échelle) dans des
au modèle relationnel, les machines bases de données sont une solution contextes fortement distribués,
(ex :TerradataTM), s’appuient sur une distribution des données sur de nombreux
disques permettant une parallélisation de l’exécution des requêtes. • permettant une gestion d’objets complexes et hétérogènes sans
• Cependant ces machines ne peuvent gérer des mégadonnées au delà̀ d’un avoir à déclarer au préalable l’ensemble des champs représentant un
certain volume. objet,
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 53 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 54
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 57 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 58
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 59 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 60
• Caractérisation de l’apprentissage : • 2 tâches principales :
§ supervisé (à base d’exemples pré-étiquetés ou classés), • la classification (attribuer des classes)
§ semi-supervisé (apprentissage à partir d’une combinaison d’exemples étiquetés et
d’exemples non étiquetés) • le clustering (catégoriser, trouver des classes) et
§ non supervisé (apprentissage d’un modèle à partir des seules données non • Principales techniques utilisées :
étiquetés)
• Arbres de décision (ex : C4.5) classification supervisée
§ actif (sélection automatique des meilleurs exemples à étiqueter manuellement
• K-mean clustering
parmi un ensemble très important de données non étiquetés)
• SVM (Support Vector Machine) : classification supervisée par approche discriminante et
§ par renforcement (le système apprend au fur et à mesure que l’on s’en sert, à la
fonctions noyaux
manière d’un joueur qui gagne en expérience).
• Naive Bayes : classification probabiliste Bayésienne Naïve
• Apprentissage statistique • Apriori : estimation automatique de distribution de probabilités par Expected
§ basé sur des modèles mathématiques bien fondés et des algorithmes puissants, Maximisation
§ Ex : réseaux bayésiens, modèles de Markov cachés (HMM), machines à vecteur • Réseaux de neurones …
support (SVM), … • …
• Apprentissage profond – Deep Learning (réseaux de neurones) : ð Principal problème : parallélisations des algorithmes …
§ difficiles à paramétrer (architectures récurrentes ou non, nombre de couches, taille ð Projet Mahout (https://mahout.apache.org): basé sur Hadoop il fournit des
des vecteurs représentant les individus, fonctions d’activation...) versions distribuées de plusieurs algorithmes standards d’apprentissage
§ nécessitent beaucoup d’exemples, et traitement massivement parallèle par cartes automatique et de fouille de données.
graphiques (GPU).
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 61 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 62
• Techniques de fouille pour l’exploration de données spécifiques : • Données échangées et émises en continu :
§ Données séquentielles,
Ex : données en flots sur des médias en ligne, données en provenance de
§ Données temporelles capteurs, relevés d’expérimentation dans le domaine de la physique, …
§ Données spatiales
§ …
ð Pas envisageable d'interroger la totalité du flux de données continu, ce qui
pourrait avoir pour conséquence de stopper le flux.
• Techniques de fouille de processus (Process Mining) :
§ Basée sur l’analyse de données évènementielles ð nouveaux algorithmes optimisés en temps de traitement et en
occupation mémoire :
§ Permettent la découverte de nouveaux processus, le contrôle de conformité de
processus, … § Permettant de construire des résumés / synopsis du flux de données
§ Exploitent des journaux d’évènements (event logs) de plus en plus disponibles § L’interrogation de ces résumés / synopsis conduit à résultats avec une
dans les organisations quel que soit leur domaine, de l’industrie à la santé [30]. certaine approximation.
§ … Ex : technique des « fenêtres temporelles » travaillant sur un ensemble
• Autres techniques … restreint du flux pour en extraire des motifs (items, itemsets, et motifs
séquentiels ou Sequential patterns) porteurs de connaissance.
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 63 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 64
• Texte = part importante du contenu non-structuré dans les organisations • Thème de recherche très actif avec de nombreux challenges et opportunités
(documents, e-mail, pages Web, contenu des médias sociaux, …)
• Analytique de texte (Text analytics) s’appuie sur : • Concerne les méthodes et technologie relatives à la collecte, la mesure, l'analyse
§ la fouille de texte (Text Mining), et la présentation des données utilisées dans les sites et applications Web
§ la recherche d'information (RI), • S’appuie principalement sur les avancées en Analytique de textes
§ la linguistique informatique (techniques de traitement automatique du
langage naturel (TALN), symboliques, statistiques, et/ou utilisant • Englobe la recherche et la fouille sociale, les systèmes de réputation, l'analyse
l’apprentissage profond (plongement de mots – Word Embedding) des médias sociaux, et la visualisation Web, la ventes aux enchères sur le Web,
• Concernent différentes tâches : la monétisation d'Internet, le marketing social et la confidentialité/sécurité du Web
§ Extraction d’information : entités nommées (noms propres, dates, • Conduit au développement de plates-formes et services de Cloud Computing
quantités ...) et relations entre ces entités nommées (applications, logiciels système et du matériel fournis comme services sur
§ Désambiguïsation sémantique Internet) :
§ Etiquetage syntaxique
§ Résumé automatique (mono et multi document(s) Ex1 : Amazon Elastic Compute Cloud (EC2) permet aux utilisateurs de
§ Simplification de textes louer des ordinateurs virtuels, sur lesquels ils peuvent exécuter leurs
§ Analyse d’opinions et de sentiments propres applications informatiques. Son Simple Storage Service (S3) offre
§ … un service de stockage en ligne de Web.
• Moteurs de recherche utilisent de plus en plus de techniques de TALN
pour mieux rapprocher requêtes et documents, traiter les requêtes complexes et
appréhender la sémantique des contenus.
Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 65 Bernard ESPINASSE - Introduction aux mégadonnées (Big Data) 66