1. Architectres BigData
Présentée par : Hwerbi khouloud
Email: Hwerbi@hotmail.com
2019/2020
Université de Tunis El Manar
Faculté des Sciences de Tunis
Département des Sciences de l’informatique
3. Lambda (λ) Architecture (Marz and Warren)
La couche batch permet de faire deux choses: stocker un dataset
immuable, en croissance constante, et calculer des fonctions
arbitraires sur ce dataset.
La couche de service est une base de données distribuée spécialisée
qui se charge par les résultats pré-calculés par la couche batch, et
permet d'effectuer des lectures aléatoires sur celle-ci.
la couche de vitesse produit des vues basées sur les données reçues
en regardant que les données récentes, alors que la couche batch
examine toutes les données en même temps. Pour obtenir les latences
les plus petites possibles, la couche de vitesse n’examine pas toutes
les nouvelles données à la fois.
4. Unified λ Architecture (Tony Siciliani)
Combine à la fois le pipeline par lots et le
pipeline en temps réel, qui s’exécute
simultanément et les résultats sont
automatiquement fusionnés.
Du point de vue du traitement, l’architecture
intègre un pipeline de traitement par lots et
en temps réel en proposant une seule API. Il
n'y aurait qu'une seule base de code à
maintenir
5. Kappa Architecture(Jay Kreps)
L'architecture Kappa représente une autre façon de concevoir un système de traitement de flux. Premièrement, les données
entrantes sont introduites dans un système de traitement de flux, appelé couche temps réel. Cette couche est responsable
de l'exécution des tâches de traitement de flux et du traitement des données en temps réel. Ensuite, les données sont
dirigées vers la couche serveur qui interroge les résultats requis. Les composants de cette architecture ne diffèrent pas
particulièrement de l’architecture Lambda. De plus, il n'est pas nécessaire de développer d'autres technologies utilisées
pour mettre en oeuvre cette architecture. En effet, l'architecture Kappa peut être mise en oeuvre en utilisant les mêmes
technologies open source pour la réalisation de l'architecture Lambda.
6. Microservices Architecture
Cette architecture divise le système de données volumineuses en de nombreux services sous-dimensionnés, appelés
microservices, pouvant fonctionner indépendamment. Cela permet à chaque service de gérer son propre processus et de
communiquer de manière autonome sans avoir à dépendre d'autres services ou de l'application dans son ensemble.
Martin Fowler définit que les services doivent adhérer aux principes architecturaux communs, y compris la responsabilité
unique, la séparation des préoccupations, ne pas se répéter (DRY), la composabilité, l’encapsulation, le couplage lâche,
l’utilisation d’interfaces cohérentes et standardisées, etc.
8. Zeta Architecture (Jim scott)
Système de fichiers distribués: toutes les applications lisent et écrivent sur une
solution commune évolutive.
Stockage de données en temps réel : supporte les applications à haute vitesse en
utilisation BD en temps réel.
Modèle de calcul / moteur d'exécution : fournit différents moteurs et modèles de
traitement afin de répondre aux besoins d'une organisation.
Conteneur : une approche normalisée pour le déploiement. Tous les utilisateurs sont
isolés et déployés de manière standard.
Architecture de la solution : Ces architectures englobent une interaction de haut
niveau entre des algorithmes, des composants logiciels et des flux de travail
d’entreprise.
Applications d'entreprise : fournissent les composants nécessaires à la réalisation de
tous les objectifs commerciaux définis pour une application.
Gestion des ressources globale : permet l'allocation dynamique des ressources.
9. iot-a Architecture
Requêtes ad hoc: Traitement MQ / SP (Message Queue / Stream): il
reçoit les données du système en amont et, en fonction du mandat de
l'entreprise, effectue la mise en mémoire tampon, le filtrage et les
opérations en ligne complexes.
Base de données: Il reçoit des données de MQ / SP et fournit un accès
structuré et à faible latence aux points de données. En règle générale, la
base de données est une solution NoSQL avec des propriétés
d’ombrage automatique et d’extension horizontale. La sortie de la base
de données est de nature interactive, avec une interface fournie via une
API spécifique au magasin ou via l'interface standard SQL.
Système de fichiers distribués (DFS): en général, il reçoit des données
de la base de données et effectue des travaux par lots sur l'intégralité du
jeu de données. Si nécessaire, il peut également recevoir des données
directement du bloc MQ / SP. Cela peut inclure la fusion de données de
périphériques IoT avec d'autres sources de données.
11. Architecture de traitement polyglotte (Polyglot
Processing)
Architecture Fameux Domaine Traitement en Traitement
réel
Lambda Twitter Réseaux sociaux oui oui
Kappa LinkedIn, Yahoo Machine Learning non oui
Zeta Google Architecture
d’entreprise
oui oui
Mu oui oui
12. L’architecture Lambda est proposée afin d’éviter la complexité qui pèse sur les architectures totalement
incrémentales, elle consiste à adopter différentes techniques autre que les chaines de calcul totalement
incrémentales ;
L’architecture kappa ne nécessite qu'une seule base de code au lieu de mettre en oeuvre deux systèmes
hétérogènes. En conséquence, les processus liés au développement tels que la mise en oeuvre, le débogage et la
maintenance du code sont simplifiés. D'autre part, la transmission d'une couche de traitement par lots empêche
l'architecture de gérer des applications nécessitant beaucoup de calcul comme les problèmes de Machine Learning.
Cependant, les inconvénients de l’architecture Kappa ne sont pas particulièrement problématiques car cette
approche soit une alternative à l’architecture Lambda, privilégiant la simplicité à l’efficacité. Cela signifie qu'une
comparaison directe des deux architectures est difficile car les performances de l'architecture dépendent en grande
partie du cas d'utilisation ;
13. L’architecture lambda propose une grande capacité de tolérance aux fautes son inconvénient de l'architecture λ est sa
complexité. Le pipeline de traitement par lots et en continu nécessite une base de code différente qui doit être
correctement maintenue synchronisée afin que les données traitées produisent le même résultat à partir des deux
chemins. Donc, une solution plus simple qui apporterait les mêmes avantages et traiterait le problème : les
architectures λ en utilisant un cadre «unifié» qui rend le même code disponible pour les couches Vitesse et Traitement
par lots et combine les résultats des deux couches de manière transparente, ce qui conduit au développement de
l’architecture λ unifiée ;
L’architecture Zeta est une structure d’architecture d’entreprise de haut niveau, semblable à l’architecture Lambda,
mais qui simplifie les processus d’entreprise et définit un moyen évolutif d’accroître la vitesse d’intégration des
données dans l’entreprise ;
14. Les piles de technologies open-source pour l'architecture Mu restent les mêmes que l'architecture Kappa ;
Mu ingère des données à la fois dans les processus de traitement par lots et en continu, mais pas à des fins de
fiabilité, car certaines tâches sont mieux exécutées par lots et d’autres en mode continu ;
L'Internet des objets (IoT) est un écosystème d'appareils connecté, accessibles via Internet. L'adresse IP est
attribuée aux périphériques et il rassemble, transfère des données sur Internet sans intervention manuelle et
humaine. Les appareils IoT génèrent les données et sont livrés à Big Data Ecosystem pour générer un aperçu en
temps voulu ;
16. Proposées dans l’article : Big Data Platforms and Techniques :
• Booz Allen Hamilton Cloud Analytics Reference Architecture ;
• IBM Big Data & Analytics Reference Architecture ;
• Big Data Ecosystem Reference Architecture(Microsoft) ;
• SAP Big Data Reference Architectur ;
• Oracle Architecture Framework for Big Data ;
• GPUMLIB Big Data Architecture Framework ;
• National Big Data Reference Architecture ;
17. Proposées dans l’article : A survey of big data architectures and machine learning algorithms in healthcare (2017):
• NIST big data reference architecture (NBDRA) ;
• Big data architecture for remote sensing ;
• The service-on-line-index-data (SOLID) architecture ;
• Semantic-based architecture for heterogeneous multimedia retrieval ;
• Large-scale security monitoring architecture ;
• Modular software architecture ;
• MongoDB-based healthcare data management architecture ;
• Scalable and distributed architecture for sensor data collection, storage, and analysis ;
• Distributed parallel architecture for ‘big data’ ;
19. Livres :
• Big Data Principles and best practices of scalable real-time data systems : http://index-of.co.uk/Big-Data-
Technologies/Big%20Data%20Principles%20and%20Best%20Practices%20of%20Scalable%20Realtime%20Data%20Systems%20by%20Nathan%20Marz%20%20WITH%20%20James%20Warren(pradyutvam2)%5BCPU
.pdf
Articles:
• Lambda Architecture for Real Time Big Data Analytic : https://proceedings.ictinnovations.org/attachment/paper/299/lambda-architecture-for-real-time-big-data-analytic.pdf
• BigDataEcosystemReviewonArchitecturalEvolution.pdf
• Fundamentals of Real-Time Data Processing Architectures Lambda and Kappa : https://dl.gi.de/bitstream/handle/20.500.12116/28983/SKILL2018-05.pdf?sequence=1&isAllowed=y
Présentations:
• Polyglot Processing – An Introduction 1.0 : https://fr.slideshare.net/MohanBavirisetty/polyglot-processing-an-introduction-10
• https://www.slideshare.net/MapRTechnologies/zeta-architecture?ref=https://mapr.com/solutions/zeta-enterprise-architecture/
Site:
• https://mapr.com/solutions/zeta-enterprise-architecture/
Notes de l'éditeur
En mode Diaporama, cliquez sur la flèche pour accéder au Centre de prise en main de PowerPoint.