Framework et technologies Big Data
ECUEF511
Année Universitaire 2024/2025
Chapitre 5
Base de données NoSQL
Enseignante: Nedra Ibrahim
Nedra.Ibrahim@iteam-univ.tn 1
Plan du cours
I. Introduction aux Big Data
II. Principes Hadoop
Année Universitaire 2024/2025
III. L’éco-système Hadoop
IV. Apache Hive
V. Bases de données NoSQL
VI. Les architectures Big Data 2
Problématique du stockage HDFS
Le stockage de données dans l'Eco-système Hadoop (HDFS):
• (+) stockage de grand volume de données
• (-) Accès séquentiel aux données :
• accès à une donnée ponctuelle stockée dans un fichier =
Année Universitaire 2024/2025
un scan complet du cluster
• coûteux en temps et en calcul
• Comment indexer et structurer des grandes masses de
données pour un accès direct (random access) ?
→ Utilisation d'un SGBD
3
BD NoSQL
• Face aux limites des Bases de données relationnelle dans
le stockage et la gestion des Big Data, de nouvelles
solutions ont vu le jour → BD NoSQL:
• Ce n’est pas (comme son nom le laisse supposer) No SQL
Année Universitaire 2024/2025
(pas de SQL)→Not Only SQL
• Appelées également
• Cloud Databases
• Non-Relational Databases
• Big Data Databases
4
BD NoSQL: caractéristiques
• Caractéristiques communes
• Le schéma des données est très flexibles
• Pas de relation complexe entre les données (pas de join)
Année Universitaire 2024/2025
• Les données et les calculs sont distribuées
• Les plus populaires
• HBase, Cassandra, Dynamo, MongoDB, Google BigTable, ....
5
BD NoSQL: caractéristiques
➢Bases de données non-relationnelles et largement
distribuées.
➢Une meilleure scalabilité dans des contextes fortement
distribués,
Année Universitaire 2024/2025
➢Une gestion d’objets complexes et hétérogènes,
→Solutions très efficaces pour stocker et exploiter les Big
Data.
6
SGBD relationnel vs NoSQL
Année Universitaire 2024/2025
Scalabilité=
7
Théorème CAP: couple CA
Année Universitaire 2024/2025
Le couple CA représente:
• le fait que lors d'opérations concurrentes sur une même
donnée, les requêtes L1 et L2 retournent la nouvelle version
(v2) et sans délai d'attente.
• N'est possible que dans le cadre de bases de données 8
transactionnelles telles que les SGBDR.
Théorème CAP: couple CP
Année Universitaire 2024/2025
Le couple CP propose de:
• distribuer les données sur plusieurs serveurs en garantissant la
tolérance aux pannes (réplication).
• vérifier la cohérence des données en garantissant la valeur retournée
malgré des mises à jour concurrentielles.
• nécessite un protocole de synchronisation des réplicas, introduisant 9
des délais de latence dans les temps de réponse (L1 et L2 attendent la
synchronisation pour voir v2). Ex: MongoDB.
Théorème CAP: couple AP
Année Universitaire 2024/2025
• Le couple AP s'intéresse à fournir un temps de réponse rapide tout en
distribuant les données et les réplicas.
• De fait, les mises à jour sont asynchrones sur le réseau, et la donnée est
"Eventually Consistent" (L1 voit la version v2, tandis que L2 voit la
version v1).
• C'est le cas de Cassandra dont les temps de réponses sont appréciables,
mais le résultat n'est pas garanti à 100% lorsque le nombre de mises à 10
jour simultanées devient important.
Théorème CAP
Année Universitaire 2024/2025
11
Quand utiliser BD NoSQL
• Si l’évolutivité est une préoccupation
• Si l’absence de schéma est une préoccupation
Année Universitaire 2024/2025
12
Types de BD NoSQL
Stocker les informations de la façon la mieux adaptée à leur
représentation => différents types de BD NoSQL :
type « Clé-valeur / Key-value » : type « Graphe » :
Année Universitaire 2024/2025
basique, chaque objet est identifié pour gérer des relations multiples
par une clé unique constituant la entre les objets (adaptés au données
seule manière de le requêter. issues de réseaux sociaux, …)
type « Document » : type « Colonne / Column » :
pour la gestion de collections de permet de disposer d'un très grand
documents, composés chacun de nb de valeurs sur une même ligne,
champs et de valeurs associées,
valeurs pouvant être requêtées 13
Types des SGBD NoSQL
Année Universitaire 2024/2025
14
Types de BD NoSQL
Année Universitaire 2024/2025
15
NoSQL: Clé-Valeur
• Couple Clé+Valeur
• Pas de schéma pour la valeur (chaine, objet, entier,
binaires…) qui peut donc être différente pour chaque
clé.
Année Universitaire 2024/2025
• Conséquences :
• Pas de structure ni de types
• Pas d’expressivité d’interrogation (pré/post traitement
pour manipuler concrètement les données)
16
NoSQL: Clé-Valeur
Année Universitaire 2024/2025
17
NoSQL: Clé-Valeur
Exemples d’utilisation:
• Logs de sites Web ou d’application
• Profils utilisateurs de site Web/réseaux sociaux
• Données de capteurs
• Paniers sur sites de e-commerce
Année Universitaire 2024/2025
• Sur un réseau social, à partir d’un utilisateur (la clé), obtenir la liste
de ses amis (la valeur)
• Dans un catalogue de livres, le numéro ISBN (la clé) donne accès à
tous les détails sur le livre (la valeur)
• Dans un journal d’activités, la date d’un évènement (la clé) indexe
les détails de ce qui c’est passé à ce moment (la valeur)
18
NoSQL: Clé-Valeur
Avantages:
• Modèle très simple
• Très bonne scalabilité en lecture et en écriture
• Modification facile du contenu associé à une clé
Année Universitaire 2024/2025
• Augmente la disponibilité
Inconvénients:
• accès par clé => la complexité reportée au post traitement
19
NoSQL: Clé-Valeur
Exemples :
• Redis,
• Memcached ,
Année Universitaire 2024/2025
• SimpleDB
20
NoSQL: Documents
• Étendent le paradigme clé/valeur, avec des « documents » plus
complexes à la place des données simples, et une clé unique pour
chacun d’eux.
• Chaque valeur est un document
• Documents de type BSON ou XML (BSON=Binary JSON)
Année Universitaire 2024/2025
• Document contient un ou plusieurs champs
• Chaque champs contient une valeur typée (string, date, binary ou
array)
• Schéma non nécessaire (peut varier d’un document à l’autre)
• Permettent de stocker, extraire et gérer les informations orientées
documents (données semi-structurées)
• Pouvoir récupérer, via une seule clé, un ensemble d’informations.
21
NoSQL: Documents
Exemples d’utilisation:
• Systèmes de gestion de
contenu
• Web analytique ou
Année Universitaire 2024/2025
analytique temps-réel
• Catalogue de produits
• Gestion de boîtes email
• Gestion des historiques
d’utilisateurs sur réseaux
sociaux
22
NoSQL: Documents
Année Universitaire 2024/2025
23
NoSQL: Documents
Avantages :
• Modèle simple mais avec structure imbriquée
• Interrogation de tout attribut
• Passe facilement à l’échelle
Année Universitaire 2024/2025
• Flexibilité
• Evolutif au cours du temps
Inconvénients :
• Inter-connexion de données complexe
• Duplication des données
24
NoSQL: Documents
Exemples :
• Mongo DB (SourceForge),
• Couch DB (Apache),
Année Universitaire 2024/2025
• RavenDB (destiné aux
plateformes .Net)
• OrientDB: combine
plusieurs modèles de
données, notamment :
orienté graphique,
document et clé-valeur
25
NoSQL: Colonnes
• Ressemble aux SGBDR, mais avec un nombre de
colonnes dynamique, différent d’un enregistrement à un
autre (pas de colonnes portant les valeurs NULL)
• Facile d’ajouter une colonne
Année Universitaire 2024/2025
• Schéma peut être dynamique (d’une ligne à l’autre)
• Les bases orientées colonnes sont plus difficiles et
complexes à mettre en place que les bases orientées
documents ou clé-valeur.
26
NoSQL: Colonnes
Année Universitaire 2024/2025
27
NoSQL: Colonnes
Année Universitaire 2024/2025
28
NoSQL: Colonnes
Exemples d’utilisation:
• Comptage (vote en ligne, compteur, etc)
• Journalisation
• Recherche de produits dans une catégorie (Ebay)
Année Universitaire 2024/2025
29
NoSQL: Colonnes
Avantages :
• Supporte le semi-structuré (XML, JSon)
• Indexation de chaque colonne
• Passage à l’échelle horizontal
Année Universitaire 2024/2025
• Compression possible
Inconvénients :
• Lecture de données complexes difficile
• Difficulté de relier les données
• Requêtes pré-définies (pas à la volée)
30
NoSQL: Colonnes
Exemples:
• Hbase (Hadoop),
• Cassandra (Facebook,
Année Universitaire 2024/2025
Twitter),
• BigTable (Google)
31
NoSQL: Graph
• Basée sur les théories des graphes
• S’appuie sur les notions de noeuds, de relations et des propriétés
qui leur sont rattachées
• Conçue pour les données dont les relations sont représentées
comme graphes, et ayant des éléments interconnectés, avec un
Année Universitaire 2024/2025
nombre indéterminé de relations entre elles
• Adaptée aux traitements des données des réseaux sociaux
32
NoSQL: Graph
Exemples d’applications:
• Calcul sur les graphes sociaux
(recommandations, plus
courts chemins,…)
Année Universitaire 2024/2025
• Calculs sur les réseaux des
SIG: réseaux routiers,
canalisations, électricité, …
33
NoSQL: Graph
Année Universitaire 2024/2025
34
NoSQL: Graph
Avantages:
• Modèle adapté pour le stockage de grands graphes
• Offre des fonctionnalités de calculs sur grands graphes
• les arcs (avec propriétés)
Année Universitaire 2024/2025
Inconvénients:
• Partitionnement difficile
35
NoSQL: Graph
Exemples :
• Neo4J,
• InfiniteGraph,
Année Universitaire 2024/2025
• OrientDB: combine
plusieurs modèles de
données,
notamment : orienté
graphique, document
et clé-valeur
36