0% ont trouvé ce document utile (0 vote)
0 vues42 pages

BigData_NoSQL - Chapitre 1 - Introduction

Le document présente une introduction au Big Data et à son écosystème, en mettant en lumière l'évolution des modèles de données et l'impact de l'Internet des objets et de l'Industrie 4.0. Il aborde les défis liés au volume, à la vélocité, à la variété, à la véracité et à la valeur des données, ainsi que les limites des architectures traditionnelles face à ces enjeux. Enfin, il décrit les systèmes distribués comme une solution adaptée pour le stockage et le traitement des grandes quantités de données.

Transféré par

Ouafaa Lakrakar
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues42 pages

BigData_NoSQL - Chapitre 1 - Introduction

Le document présente une introduction au Big Data et à son écosystème, en mettant en lumière l'évolution des modèles de données et l'impact de l'Internet des objets et de l'Industrie 4.0. Il aborde les défis liés au volume, à la vélocité, à la variété, à la véracité et à la valeur des données, ainsi que les limites des architectures traditionnelles face à ces enjeux. Enfin, il décrit les systèmes distribués comme une solution adaptée pour le stockage et le traitement des grandes quantités de données.

Transféré par

Ouafaa Lakrakar
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Cadi Ayyad

Faculté Polydisciplinaire
Département des Sciences
Mathématique et Informatique – Safi

Big Data et NoSQL


MI- INFORMATIQUE & IA S6

Pr. Zakaria Bousalem


– Chapter 1 : Introduction
Plan du module

– Introduction
– Hadoop et son écosystème
– Apache Spark
– Bases de données NoSQL orientées clé-valeur
– Bases de données NoSQL orientées documents
– Bases de données NoSQL orientées colonnes
– Bases de données NoSQL orientées graphes
– Chapter 1 : Introduction
Changement de modèle
– De grands volumes de données existaient déjà dans les entreprises et les centres de données,
souvent gérés par des bases de données relationnelles.
– Depuis les années 2000, le Web, les réseaux sociaux, le mobile et le cloud ont fortement
augmenté la production de données.
– Le modèle a évolué d’un système avec peu de producteurs vers un système où de nombreux
acteurs produisent et consomment des données en continu.
– Contexte Général

Ancien Modèle : Quelques producteurs de données, Nouveau Modèle : Beaucoup de producteurs et de


beaucoup de consommateurs. consommateurs de données, en continu.
– Chapter 1 : Introduction
Avènement de l'Internet des objets (IoT) et des smartphones
– Le développement de l’Internet des objets (IoT) et la généralisation des smartphones ont
fortement accru le nombre d’équipements connectés.
– Ces équipements produisent en continu des données hétérogènes (usage, capteurs,
localisation, performance), contribuant à l’essor du Big Data.
– Contexte Général
– Chapter 1 : Introduction
Industrie 4.0
– L’Industrie 4.0 désigne une nouvelle génération d’usines connectées, automatisées et
intelligentes.
– Elle repose sur l’intégration de technologies telles que :
IoT, robotique, capteurs, cloud, IA et systèmes cyber-physiques.
– Les machines, les systèmes et les opérateurs échangent des données en temps réel.
– Contexte Général
– Contexte Général De plus en plus de données (Année 2024)

– Chapter 1 : Introduction
– Chapter 1 : Introduction
De plus en plus de données…
Statistiques et prévisions 2026 : en un coup d’œil
– 221 zettaoctets (ZB) de données devraient être
générés dans le monde en 2026.
– En moyenne, environ 0,4 Zo de données par jour
(soit 402,74 millions de téraoctets/jour) sont
générés.
– Le monde numérique global représente environ 100
Zo (soit près de 50 % du volume total de données).
– Environ 70 % des données mondiales sont générées
par les utilisateurs.
– Plus de 97 % des entreprises ont investi dans le Big
Data.
– Le marché de l’analyse Big Data est estimé à 348,21
– Contexte Général

milliards USD.
– Ce marché devrait croître d’environ 13 % par an pour
atteindre 924,39 milliards USD d’ici 2032.
– [Link]
– Chapter 1 : Introduction
Conséquences
– Multiplication des sources de données
• (web, smartphones, capteurs, réseaux sociaux, applications cloud, IoT)
– Diversité croissante des formats
• données structurées (tables, CSV, SQL)
• données semi-structurées (JSON, XML)
• données non structurées (texte, image, audio, vidéo)
– Augmentation du volume et du flux de données
• stockage plus difficile, transferts plus longs, traitements plus coûteux
– Le temps de lecture et de traitement
• les approches classiques sur une seule machine deviennent insuffisantes
– Contexte Général
– Chapter 1 : Introduction
Big Data et son écosystème
– Chapter 1 : Introduction
Qu’est-ce que le Big Data ?
– Le Big Data désigne des ensembles de données très volumineux, générés rapidement et de
formats variés, issus de sources multiples (utilisateurs, applications, capteurs, machines,
services en ligne).
– Ces données dépassent souvent les capacités des approches classiques de stockage, de
traitement et d’analyse.

Traitement
– Big Data : Introduction

Stockage Analyse

Le stockage, le traitement et l’analyse du


Big Data sont devenus difficiles avec les
méthodes traditionnelles.
– Chapter 1 : Introduction
Les 5V du Big Data
– La caractérisation du Big Data repose initialement sur les 3V : Volume, Vélocité et Variété.
– Afin de mieux décrire les enjeux liés à la qualité et à l’utilité des données, deux dimensions
supplémentaires sont généralement considérées : Véracité et Valeur.
– Big Data : Introduction
– Les 5V du Big Data
– Chapter 1 : Introduction
Volume (Volume)
– Le volume correspond à la taille des données (Go, To, Po, etc. ).
– Plus le volume augmente, plus le stockage et le traitement deviennent difficiles avec les
approches classiques.

– Le Big Data concerne notamment des contextes où le volume de données devient très
important.

Exemple
Plateformes de streaming, réseaux sociaux, IoT : génération de grands volumes de données au
quotidien.
– Big Data : Introduction
– Les 5V du Big Data
– Chapter 1 : Introduction
Velocity (vélocité)
– La vélocité désigne la rapidité avec laquelle les données sont produites, transmises et
traitées.
– Dans les environnements Big Data, les données proviennent souvent de sources multiples
(capteurs, applications, réseaux, plateformes numériques) et affluent sous forme de flux
continus.
– Cette caractéristique impose des mécanismes de traitement capables de répondre
rapidement aux besoins d’analyse et de décision.

Exemple
Les systèmes de suivi en temps réel (IoT, services web, réseaux sociaux) génèrent des données à
– Big Data : Introduction

haute fréquence.
– Les 5V du Big Data
– Chapter 1 : Introduction
Variety (Variété)
– La variété correspond à la diversité des sources et à la nature hétérogène des données.
– Les données peuvent être structurées, semi-structurées ou non structurées.
– Le Big Data concerne notamment des contextes où des données de formats différents doivent
être stockées, intégrées et analysées ensemble.

Exemple
Bases de données, fichiers CSV/Excel, e-mails, documents PDF, images, vidéos, fichiers audio,
données de capteurs.
– Big Data : Introduction
– Les 5V du Big Data
– Chapter 1 : Introduction
Veracity (Véracité)
– La véracité désigne le degré de fiabilité, de précision et de qualité des données.
– Les données collectées à partir de sources multiples peuvent contenir des erreurs, des
doublons, des incohérences ou des valeurs manquantes.
– Si ces problèmes ne sont pas traités, ils peuvent entraîner des erreurs d’analyse et réduire la
pertinence des résultats.

Exemple
Données de capteurs bruitées, informations incomplètes dans des formulaires, doublons dans
des bases clients.
– Big Data : Introduction
– Les 5V du Big Data
– Chapter 1 : Introduction
Value (Valeur)
– La valeur désigne l’utilité que l’on peut extraire des données à travers leur analyse.
– Elle correspond aux informations pertinentes et aux insights permettant de mieux
comprendre une situation, d’aider à la décision ou d’optimiser un processus.
– La valeur obtenue dépend du contexte, des objectifs et de la qualité des données.

Exemple
Détection de fraudes, maintenance prédictive, recommandations, optimisation des coûts,
amélioration de la qualité de service.
– Big Data : Introduction
– Les 5V du Big Data
– Chapter 1 : Introduction
Types de Big Data

Données Données semi- Données non


structurées structurées structurées

– Modèles de données pré- – Données avec une – Aucun modèle de


définis, comme dans les structure partielle, mais données prédéfini
bases de données ne peuvent pas être
stockées directement – Plus complexes à stocker,
– Organisées en champs de dans une base de rechercher et analyser
type défini. données relationnelle
– Souvent stockées sous
– Big Data : Introduction

– Faciles à rechercher et à – Plus faciles à analyser différents types de


filtrer que les données non fichiers
structurées
– Exemples : données de – Exemples : textes libres,
transaction, fiches clients, – Exemples : JSON et XML images, audio, vidéos,
numéros, dates, tableaux publications sur les
de données réseaux sociaux
– Chapter 1 : Introduction
Applications du Big Data
– Le Big Data permet d’exploiter de grands volumes de données afin de mieux comprendre,
anticiper et optimiser des phénomènes complexes.

– Il est utilisé dans de nombreux domaines pour l’aide à la décision, la détection d’anomalies,
la prévision et l’optimisation des services.

Santé et Internet des


Web Finance Environnement
médecine objets

– Web Analytics – Évaluation du – Surveillance – Détection – Surveillance


– Analyse des risque de crédit épidémiologique d’intrusion météorologique
performances – Détection de – Aide au diagnostic – Parkings – Surveillance de la
– Big Data : Introduction

– Recommandation fraude – Détection d’effets intelligents pollution


du contenu – Analyse des indésirables des – Routes atmosphérique
transactions médicaments intelligentes – Suivi de la qualité
de l’air
– Chapter 1 : Introduction
Applications du Big Data
– Le Big Data permet d’exploiter de grands volumes de données afin de mieux comprendre,
anticiper et optimiser des phénomènes complexes.

– Il est utilisé dans de nombreux domaines pour l’aide à la décision, la détection d’anomalies,
la prévision et l’optimisation des services.
Logistique et
Industrie – Vente Education
transport

– Suivi de flotte en – Maintenance – Optimisation des – Apprentissage


temps réel prédictive stocks adaptatif
– Suivi des expéditions – Analyse des risques – Recommandation de – Prédiction du
– Big Data : Introduction

– Diagnostic à distance opérationnels produits décrochage


des véhicules – Détection – Agencement du – Orientation
d’anomalies magasin académique
– Chapter 1 : Introduction
Vers des architectures
distribuées
– Chapter 1 : Introduction
Limites d’une architecture à nœud unique

• Les ressources d’un seul serveur sont limitées (CPU, RAM,


disque)
• Les données volumineuses ne tiennent pas toujours en
mémoire principale
• Le traitement devient plus lent (lectures disque fréquentes)
• L’augmentation de charge (utilisateurs / requêtes) dégrade les
performances
• En cas de panne, le système devient indisponible (point unique
– Systèmes distribués

de panne)
– Chapter 1 : Introduction
Scalabilité verticale (1/2)
La scalabilité verticale consiste à améliorer les performances d'un
système en augmentant les ressources d'une seule machine, comme
la mémoire, le processeur, le stockage ou la bande passante. Cette
solution a cependant ses limites :
• Limites matérielles : Chaque machine a une capacité physique
maximale pour la mémoire, le CPU, ou le stockage, au-delà de
laquelle elle ne peut pas évoluer.
• Coût élevé : Les composants les plus performants deviennent de
– Systèmes distribués

plus en plus coûteux à mesure qu’on approche des limites


techniques.
• Point unique de défaillance : Une panne de la machine unique
entraîne l’arrêt complet du système.
– Chapter 1 : Introduction
Scalabilité verticale (2/2)
Cette solution a cependant ses limites (suite) :
• Diminution des performances marginales : Ajouter des ressources
supplémentaires ne garantit pas toujours une augmentation
proportionnelle des performances.
• Temps d’arrêt pour mise à jour : Les améliorations matérielles
nécessitent souvent l’arrêt temporaire du système, perturbant la
disponibilité.
• Incompatibilité logicielle : Certains logiciels ne peuvent pas
– Systèmes distribués

exploiter pleinement les ressources d’une machine plus puissante.


– Chapter 1 : Introduction
Scalabilité horizontale
La scalabilité horizontale consiste à augmenter les performances
d’un système en ajoutant plusieurs nœuds : les données sont
réparties entre ces nœuds, et chacun prend en charge une partie du
traitement.
• Évolutivité quasi illimitée : On peut continuer à ajouter des
machines au besoin.
• Résilience : Si une machine tombe en panne, les autres machines
continuent de fonctionner (pas de point unique de défaillance).
– Systèmes distribués

• Flexibilité : Plus adapté aux charges de travail qui varient, car il est
facile d’ajouter ou de retirer des machines selon les besoins.
• Coût maîtrisé : Souvent moins cher que d’acheter du matériel de
pointe pour une machine unique.
– Chapter 1 : Introduction
Limitations des approches traditionnelles
– Stockage
▪ Les systèmes traditionnels atteignent leurs limites face à de très grands volumes et à des
données hétérogènes.
– Traitement
▪ Le traitement séquentiel est insuffisant pour des flux rapides et des calculs complexes.
– Scalabilité :
▪ La montée en charge verticale est coûteuse et limitée.
– Fiabilité :
▪ Un système centralisé constitue un point unique de panne.
– Variété :
– Systèmes distribués

▪ Les données semi-structurées et non structurées sont plus difficiles à gérer avec les
approches classiques.
L’ensemble de ces défis - volume, vélocité, scalabilité, fiabilité et variété - ne peut pas être traité
efficacement par une seule machine ou par une architecture centralisée traditionnelle.
Les systèmes distribués permettent de stocker, traiter et analyser des données massives en
répartissant la charge de travail sur plusieurs machines interconnectées.
– Chapter 1 : Introduction
Qu’est-ce qu’un système distribué ?
– Un système distribué est un système informatique composé de plusieurs machines
autonomes interconnectées, qui coopèrent pour fournir un service cohérent.
– Ces machines, appelées nœuds, communiquent pour coordonner leurs traitements et
partager des ressources.
– Systèmes distribués

Conséquence
– Cette architecture permet de répartir le stockage et le calcul, et constitue une réponse
adaptée aux besoins du Big Data.
– Chapter 1 : Introduction
Les caractéristiques clés

– Capacité à ajouter des nœuds afin de gérer une


Scalabilité
charge de travail croissante.

Tolérance aux – Le système continue de fonctionner même si


pannes certains nœuds tombent en panne.

– Les utilisateurs ne perçoivent pas la complexité


Transparence
– Systèmes distribués

interne du système distribué.

– Le système est conçu pour rester opérationnel en


continu, avec un temps d’arrêt minimal, même en
Haute disponibilité cas de défaillance (matérielle, logicielle ou
réseau).
– Chapter 1 : Introduction
Architecture de Cluster : Diviser pour régner
Définition
– Un cluster est une mise en œuvre courante d’un système distribué.
– Il permet de répartir le stockage et le traitement des données à grande échelle entre
plusieurs nœuds.

Principe de fonctionnement
– Les données et les traitements sont partitionnés en unités plus petites.
– Ces unités sont distribuées sur plusieurs nœuds afin d’exploiter le parallélisme des
entrées/sorties et du calcul.
– Systèmes distribués
– Systèmes distribués Architecture de Cluster : Diviser pour régner

– Chapter 1 : Introduction
– Chapter 1 : Introduction
– Systèmes distribués Data center

– Un data center est l’infrastructure physique qui héberge de nombreux serveurs


et équipements réseau.
– C’est l’environnement matériel dans lequel s’exécutent les clusters de traitement
et de stockage.
– Chapter 1 : Introduction
Modes de traitement : traitement par lots (Batch processing)
– Le traitement par lots consiste à traiter un ensemble de données accumulées en une seule
exécution.
– Il est généralement lancé à des intervalles planifiés.
– Il convient aux traitements qui ne nécessitent pas une réponse en temps réel et qui peuvent
tolérer un certain délai.
– Cette approche est adaptée lorsque les données à traiter sont relativement stables au
moment de l’exécution.
– Systèmes distribués
– Chapter 1 : Introduction
Modes de traitement : traitement de flux (Stream processing)
– Le traitement de flux consiste à traiter les données au fil de leur arrivée, sans attendre
l’accumulation d’un lot.
– Les données sont généralement organisées sous forme de flux continus d’événements (event
streams).
– Ce mode est adapté aux applications nécessitant une réaction rapide ou un traitement en
temps réel (ou quasi temps réel).
– Les flux peuvent correspondre à des données non bornées.
Cas d’usage
– Détection de fraude, surveillance de capteurs, alertes en temps réel, recommandations
instantanées.
– Systèmes distribués

Exemples de frameworks
– Apache Kafka, Apache Storm, Apache Flink
– Chapter 1 : Introduction
Écosystème Big Data
Le Big Data repose sur un ensemble de briques complémentaires. Chaque brique répond à un
besoin : collecter, stocker, traiter, analyser et visualiser les données.
Exemples de briques et d’outils:
1. Ingestion / collecte des données;
• Apache Kafka, Apache Sqoop, Talend
2. Stockage distribué (fichiers / objets);
• Hadoop HDFS, Amazon S3
3. Bases de données NoSQL;
• MongoDB, Cassandra, Redis, HBase
4. Traitement des données (batch et distribué);
• Apache Spark, MapReduce
– Systèmes distribués

5. Analyse et requêtage;
• Apache Hive, Presto
6. Visualisation des données;
• Tableau, Power BI
– Chapter 1 : Introduction
Pourquoi NoSQL ?
Pourquoi les bases NoSQL sont-elles apparues ?
Les bases de données relationnelles (SQL) restent très utiles, mais elles peuvent devenir moins
adaptées lorsque :
• Le volume de données devient très important ;
• Les données sont très variées (JSON, texte, logs, données web, etc.) ;
• Le système doit gérer un grand nombre de requêtes simultanées ;
• On cherche une scalabilité horizontale
Ce que propose NoSQL
– Systèmes distribués

Les bases NoSQL ont été conçues pour répondre à ces besoins :
• Flexibilité
• Distribution
• Performance
• Montée en charge
– Chapter 1 : Introduction
SQL et NoSQL : deux approches complémentaires
Critère SQL (relationnel) NoSQL
Modèle de données Tables (lignes / colonnes) Clé-valeur, document,
colonnes, graphe
Schéma Généralement rigide (défini à Souvent flexible
l’avance)
Langage de requête SQL (standardisé) Variable selon le système
Scalabilité Souvent verticale (scale-up) Souvent horizontale
(scale-out)
Cas d’usage Données structurées, Big Data, données
– Systèmes distribués

typiques transactions, gestion classique variées, forte charge,


applications web
Exemples MySQL, PostgreSQL, Oracle MongoDB, Cassandra,
Redis, Neo4j
– Chapter 1 : Introduction
Les familles NoSQL

01 02
Orientées Orientées
Clé–Valeur Documents
• Les données sont stockées sous la • Les données sont stockées dans des
forme (clé, valeur). documents.
• Très rapide pour des accès simples • Schéma flexible : les documents
par clé. peuvent varier.
– Systèmes distribués

• Cas d’usage : cache, sessions • Cas d’usage : applications web,


utilisateur, paniers e-commerce. catalogues produits, profils
• Exemple : Redis, Riak KV, DynamoDB utilisateurs.
• Exemple : MongoDB, CouchDB,
Couchbase
– Chapter 1 : Introduction
Les familles NoSQL

03 04
Orientées Orientées
Colonnes Graphes
• Les données sont organisées en • Les données sont modélisées sous
familles de colonnes. forme de nœuds et relations.
• Adaptées aux très grands volumes • Très utiles quand les relations sont
et aux écritures fréquentes. au cœur du problème.
– Systèmes distribués

• Cas d’usage : logs, IoT, séries • Cas d’usage : réseaux sociaux,


temporelles, grandes plateformes recommandations, fraude, graphes
distribuées. de connaissances.
• Exemple : Cassandra, Hbase, • Exemple : Neo4j, OrientDB,
Bigtable JanusGraph
– Chapter 1 : Introduction
Système de stockage de données distribué : Théorème CAP

Les bases de données NoSQL s’appuient également sur le théorème du CAP d’Eric Brewer,
particulièrement adapté aux systèmes distribués. Ce théorème stipule qu’un système
distribué ne peut satisfaire simultanément plus de deux des trois propriétés suivantes :
▪ Cohérence (Consistency) : Tous les nœuds du système contiennent exactement les
mêmes données au même moment. Toute lecture renvoie la version la plus récente
des données.
▪ Disponibilité (Availability) : Le système garantit que chaque requête reçoit une
réponse, même en cas de défaillance d’un ou plusieurs nœuds. Les données restent
– Systèmes distribués

accessibles en toutes circonstances.


▪ Résistance au partitionnement (Partition Tolerance) : Le système peut continuer à
fonctionner correctement malgré des partitions du réseau, c'est-à-dire lorsque
certains nœuds ne peuvent plus communiquer entre eux. Une fois la connexion
rétablie, le système doit être capable de synchroniser les données mises à jour.
– Systèmes distribués
– Théorème CAP Théorème CAP

Availability
Consistency

Partition
Tolerance

– Chapter 1 : Introduction
– Chapter 1 : Introduction
Théorème CAP
– S’il y a une partition dans le réseau, un système
distribué doit choisir entre la cohérence
(Consistency) et la disponibilité (Availability).

Consistency

C&P

Partition
Availability
– Systèmes distribués

A&P Tolerance
– Théorème CAP
– Chapter 1 : Introduction
Partition tolerance

Continuer à accepter le trafic ?


Oui / Non
write 21
User A 12
Oui | Risque de données incorrectes (availability)
Non | Arrêt de la fourniture des données (consistency) 1
– Systèmes distribués
– CAP Theorem

1
1
read
User B
– Systèmes distribués
– Bases de données NoSQL et Théorème CAP Bases de données NoSQL et Théorème CAP

– Chapter 1 : Introduction

Vous aimerez peut-être aussi