Académique Documents
Professionnel Documents
Culture Documents
Chapitre VII :
Architectures Big Data
Plan
Introduction
Motivations
Contexte
Architecture Lambda
Architecture Kappa
Autres architectures
Etude de cas
Conclusion
2
2
Enseignante : R. CHEBIL 1
Cours Big Data Niveau : L3
Motivations
L'exploitation des données massives ouvre des possibilités de
transformation radicales au niveau des entreprises et des
usages.
3
3
Motivations
Il y a tellement d'outils autour des mégadonnées qu’il paraît
facile de mettre en place une architecture Big Data qui va à peu
près tenir la route.
4
4
Enseignante : R. CHEBIL 2
Cours Big Data Niveau : L3
Motivations
C’est exactement l’intérêt du rôle d’architecte des données
(data architect)!
5
5
Objectif
6
6
Enseignante : R. CHEBIL 3
Cours Big Data Niveau : L3
Contexte
Volume
Variété Vélocité
Traitement?
7
7
Contexte
Batch
processing
Stream
NOSQL
processing
8
8
Enseignante : R. CHEBIL 4
Cours Big Data Niveau : L3
10
10
Enseignante : R. CHEBIL 5
Cours Big Data Niveau : L3
11
11
12
12
Enseignante : R. CHEBIL 6
Cours Big Data Niveau : L3
13
13
14
14
Enseignante : R. CHEBIL 7
Cours Big Data Niveau : L3
15
15
Architecture Lambda
16
16
Enseignante : R. CHEBIL 8
Cours Big Data Niveau : L3
Architecture Lambda
Architecture de :
Traitement de données
17
17
Architecture Lambda
18
18
Enseignante : R. CHEBIL 9
Cours Big Data Niveau : L3
Architecture Lambda
L’architecture Lambda est basée sur trois couches :
19
19
Batch Layer
Récupérer les données et les stocker sous leur format
brut dans des puits de données ;
Enseignante : R. CHEBIL 10
Cours Big Data Niveau : L3
Speed Layer
Gère les données récentes uniquement
Serving Layer
Permet d’indexer les batch views pour qu’elles soient
requêtées au besoin avec une faible latence.
22
22
Enseignante : R. CHEBIL 11
Cours Big Data Niveau : L3
https://www.slideshare.net/DanielMarcous/big-data-real-time-architectures-51967547 23
23
Architecture Lambda
Avantages
Facilement extensible 24
24
Enseignante : R. CHEBIL 12
Cours Big Data Niveau : L3
Architecture Lambda
Inconvénients
25
25
Architecture KAPPA
Constats :
La plupart des solutions de traitement sont capables de traiter
à la fois des batchs et des flux.
26
26
Enseignante : R. CHEBIL 13
Cours Big Data Niveau : L3
Architecture KAPPA
Idée :
Simplifier l’architecture Lambda en fusionnant les couches
temps réel et batch.
=>Manipuler les traitements batch et streaming en utilisant un
seul moteur de traitement de flux.
27
27
Architecture KAPPA
Système de stockage des données est plus restreint que celui
de Lambda et doit être un système de fichiers de type log non
modifiable (tel que Kafka).
28
28
Enseignante : R. CHEBIL 14
Cours Big Data Niveau : L3
Architecture KAPPA
29
29
Architecture KAPPA
La couche streaming "Stream Processing System" exécute le
traitement en temps réel.
30
30
Enseignante : R. CHEBIL 15
Cours Big Data Niveau : L3
Architecture KAPPA
Avantages :
31
31
Architecture KAPPA
Inconvénients :
32
32
Enseignante : R. CHEBIL 16
Cours Big Data Niveau : L3
Technologies
Collecte des données
• Kafka
• Apache Flume
• Samza
Batch
• MR (Hive, Pig etc.)
• Tez
• Spark
33
33
Technologies
Stream
• Storm
• Spark Streaming
• Samza
• Flink
34
34
Enseignante : R. CHEBIL 17
Cours Big Data Niveau : L3
Technologies
Serving
Queries
• Impala
• Presto
• Big Query
35
35
Utilisateurs
Lambdas
o Twitter
o Liveperson
o Inneractive
Kappas
o LinkedIn
o Yahoo
36
36
Enseignante : R. CHEBIL 18
Cours Big Data Niveau : L3
https://www.slideshare.net/DanielMarcous/big-data-real-time-architectures-51967547 37
37
Autres architectures
Autres architectures :
Zeta
Mu
iot – a
38
38
Enseignante : R. CHEBIL 19
Cours Big Data Niveau : L3
Etude de cas
Pour concrétiser les aspects étudiés dans les transparents
précédents
Pour voir mieux l’intérêt des architectures
Nous nous focalisons sur l’architecture Lambda
Prise d’un cours de openclassroom sur les architectures big
data :
https://openclassrooms.com/fr/courses/4467491-concevez-des-
architectures-big-data/4891241-faites-vos-premiers-pas-sur-la-lambda-
architecture
39
39
Etude de cas
Contexte :
Administration d'une application web qui connaît un certain
succès.
Des utilisateurs visitent le site, s'inscrivent, réalisent des
recherches et consultent des pages.
Pour mesurer l'évolution de la popularité de l’application, il
est demandé de mettre en place les deux fonctionnalités
suivantes :
Pour chaque page du site, donner le nombre de visites
qu'elle a reçues.
Lister les 100 pages ayant reçu le plus grand nombre de
visites.
40
40
Enseignante : R. CHEBIL 20
Cours Big Data Niveau : L3
Etude de cas
Pour implémenter les deux fonctionnalités demandées, nous
avons besoin que d'une table visits dotée de deux colonnes
: url (de type VARCHAR) et count (de type BIGINT).
Etude de cas
=> remplacer la BDR par une BD NOSQL
42
42
Enseignante : R. CHEBIL 21
Cours Big Data Niveau : L3
Etude de cas
43
43
Etude de cas
Cette architecture passe à l'échelle sans problème : elle va
continuer à fonctionner en ajoutant de nouveaux workers et en
augmentant le sharding de la base MongoDB au fur et à
mesure de l'augmentation du nombre d'urls et de visites.
Enseignante : R. CHEBIL 22
Cours Big Data Niveau : L3
Etude de cas
=> les bases NOSQL sont indispensables au big data,
mais ne sont qu'une partie de la solution.
Etude de cas
Solution = architecture Lambda
46
46
Enseignante : R. CHEBIL 23
Cours Big Data Niveau : L3
Etude de cas
Les données reçues vont être collectées à l'état brut dans le
master dataset qui se trouve dans la batch layer. Ces données
seront agrégées et le résultat de ces agrégations sera exposé
aux clients par une vue dans la serving layer. Les clients
pourront alors faire des requêtes sur cette vue.
47
47
Etude de cas
La conception d'une architecture lambda est guidée par les contraintes
suivantes :
Passage à l'échelle : l'architecture proposée doit pouvoir passer à l'échelle
de manière horizontale, c'est à dire en ajoutant des serveurs. Cette
croissance doit se faire en garantissant la robustesse et la tolérance aux
pannes des différents systèmes.
Facilité de maintenance : les choix techniques réalisés doivent favoriser le
débogage et la modification des applications exploitant cette architecture.
Enfin, peu d'interventions manuelles doivent être nécessaires pour réaliser
la maintenance des systèmes.
Facilité d'exploitation des données : le but d'une architecture lambda
n'est pas uniquement de stocker des données, mais également de les mettre
à disposition d'autres applications pour les exploiter et en extraire de la
valeur. Il doit être possible de réaliser des analyses personnalisées sur ces
données de manière aisée.
48
48
Enseignante : R. CHEBIL 24
Cours Big Data Niveau : L3
Conclusion
Architectures :
49
49
Enseignante : R. CHEBIL 25