Med Learning
  • Accueil
  • Cours
  • Formation OFPPT
  • Roadmaps
  • Projets
  • Articles
  • Contact
Med Learning

La plateforme d’apprentissage structurée pour les étudiants OFPPT et les autodidactes.

  • medlearning905@gmail.com
  • 06 87 49 76 05
  • @medle_arning

Navigation

  • Accueil
  • Cours
  • Roadmaps
  • Projets pratiques
  • Classement
  • Articles
  • Contact

Formation OFPPT

  • 1ère année
  • 2ème année
  • Filière Full Stack
  • Filière Mobile
  • Cours, TP, EFM et EFF

Mon compte

  • Connexion
  • Créer un compte
  • Mon espace
  • Mot de passe oublié

Med Learning a été créé par Anas Mounchit à la mémoire de son frère Mohammed Maadallah. Ce site est une sadaqa jariya pour lui : chaque leçon apprise ici, chaque ligne de code écrite, est une bonne action qui continue de l’accompagner.

Si Med Learning t’a aidé, pense à lui dans tes prières.

Qu’Allah lui accorde Sa miséricorde et l’accueille dans Son vaste paradis. رحمه الله

© 2026 Med Learning — Fait au Maroc, pour les étudiants.

ConfidentialitéContact & FAQ
Retour au cours

Gérer les données NoSQL avec MongoDB

Crée un compte pour sauvegarder ta progression.

  • 1.1 Découvrir les bases de données NoSQL
  • 1.2 Mettre en place une base de données MongoDB
  • 1.3 Modéliser les documents
  • 1.4 Manipuler les données avec MongoDB
  • 1.5 Effectuer des requêtes depuis des programmes Python
  • 1.6 Sécuriser une base de données MongoDB
  • 1.7 Examen blanc et fiche mémo
CoursGérer les données NoSQL avec MongoDBModule 1
01

Module 1Exploiter les fonctionnalités des bases de données NoSQL MongoDB

Chapitre 1 sur 7

Découvrir les bases de données NoSQL

Ce qu'est le NoSQL, la comparaison avec les bases relationnelles, le schéma libre, l'architecture distribuée, le théorème CAP, BASE contre ACID, et les quatre types de bases NoSQL.

  • ≈ 135 min
  • 5 leçons
  • 5 vidéos
  • 3 exercices
  • TP

Objectifs

Avec ce chapitre, tu sauras…

  • définir le concept de base de données NoSQL ;
  • comparer les bases de données traditionnelles (SQL) et NoSQL ;
  • recenser les caractéristiques des bases NoSQL (sans schéma, distribuées, CAP, BASE) ;
  • recenser les quatre types de bases NoSQL : clé / valeur, document, colonne, graphe ;
  • comparer ces types et comprendre pourquoi on choisit MongoDB.

Au programme

  1. Objectifs
  2. 1.Définir le concept de bases de données NoSQL
  3. 2.Comparer les bases de données traditionnelles et NoSQL
  4. 3.Recenser les caractéristiques des bases de données NoSQL
  5. 4.Recenser les types de bases de données NoSQL
  6. 5.Comparer les différents types de bases de données NoSQL
  7. TP · Préparer la boutique en NoSQL
  8. Exercices corrigés
  9. L'essentiel
1

Leçon 1

Définir le concept de bases de données NoSQL

Des SGBD relationnels… au NoSQL

Un SGBD a toujours deux missions : stocker les données et retrouver les données.

Les SGBD relationnels (SGBDR : MySQL, Oracle, SQL Server…) rangent des données bien structurées, de types simples (textes, entiers…), dans des tables : les colonnes sont les propriétés, les lignes sont les données. Ils reposent sur le modèle relationnel d'Edgar Codd et ont prouvé leur efficacité pendant des décennies grâce à :

  • une séparation logique et physique (on manipule des tables sans savoir comment elles sont rangées sur le disque) ;
  • une forte structuration des données et un fort typage ;
  • une représentation tabulaire ;
  • un langage déclaratif : le SQL (on dit ce qu'on veut, pas comment le chercher) ;
  • des contraintes qui assurent l'intégrité des données (clés primaires, clés étrangères…) ;
  • une forte cohérence transactionnelle (les transactions de la partie 1).

Mais les SGBDR montrent leurs limites face aux 3V du Big Data :

Le « V »Le problème pour le relationnel
Volume : des quantités énormes de donnéesle relationnel, très transactionnel, ne lutte pas efficacement contre des volumes très importants
Vélocité : des données qui arrivent très vitechaque écriture vérifie les contraintes, ce qui ralentit
Variété : des données de toutes formesles données sont parfois incompatibles avec la rigidité du schéma relationnel et ses contraintes

Piège classique

Dans le résumé

Le troisième V est écrit Veracity (véracité). Les 3V classiques du Big Data sont Volume, Velocity, Variety (variété). La véracité est parfois ajoutée comme 4e V. D'ailleurs, le résumé décrit bien la variété : des données « de types non compatibles avec la rigidité du schéma relationnel ».

Le NoSQL

  • NoSQL veut dire Not Only SQL (« pas seulement du SQL ») : une nouvelle manière de gérer les données, sans respecter forcément le modèle relationnel.
  • Le NoSQL accepte de nouveaux types de données : XML, collections d'objets, triplets…
  • Il relâche certaines contraintes lourdes du relationnel (structure fixe, langage d'interrogation, cohérence stricte) pour favoriser la distribution sur plusieurs serveurs.
  • Le NoSQL ne remplace pas les bases SQL : il les complète, par exemple pour le stockage réparti.

Intuition

Une base relationnelle, c'est une armoire à tiroirs étiquetés : chaque fiche a exactement les mêmes cases. Une base NoSQL orientée document, c'est une boîte de dossiers : chaque dossier contient ce dont il a besoin, et deux dossiers peuvent être différents.

Définition

Définition

NoSQL

Le NoSQL est un ensemble de technologies de bases de données qui reposent sur un modèle différent du modèle relationnel. Ces bases sont nées du mouvement NoSQL, au milieu des années 2000.

Le mouvement est parti des besoins Big Data des géants du web :

EntrepriseSa base NoSQL
GoogleBigTable (dont s'inspire HBase)
FacebookCassandra
AmazonDynamoDB

Les serveurs NoSQL ont des architectures distribuées : les données sont réparties sur plusieurs machines. C'est ce qui leur permet de répondre aux problèmes du Big Data.

Piège classique

Dans le résumé

Le tableau du résumé écrit « Google avec sa base HBase ». Google a créé BigTable ; HBase est la version open source de BigTable, développée par la fondation Apache. « Amazone » s'écrit Amazon.

Les avantages du NoSQL

  • Le format repose souvent sur des paires clé-valeur, beaucoup plus simples à mettre en œuvre.
  • On peut stocker directement les objets des langages de programmation : listes, collections d'objets, tableaux de valeurs…
  • La plupart des bases NoSQL sont open source, sans droits de licence.
  • On étend très facilement la base : il suffit d'ajouter des serveurs.
  • Les données sont regroupées par unités logiques, pas dans des tables, ce qui facilite leur manipulation.

Exemple : pour avoir les informations du client d'une commande, pas besoin de jointure entre les tables client et commande : le client est rangé dans la commande.

Les inconvénients du NoSQL

  • Pas de clé étrangère : aucun mécanisme ne vérifie la cohérence des données. C'est au programme de le faire.
  • Le NoSQL n'est pas adapté aux applications qui exigent des transactions sûres et fiables (la gestion bancaire, par exemple).
  • Les requêtes SQL et NoSQL ne sont pas compatibles : il faut apprendre un nouveau langage de requêtes.

Astuce

Aujourd'hui

MongoDB gère des transactions multi-documents (ACID) depuis la version 4.0 (2018). L'inconvénient « pas de transactions fiables » est donc moins vrai qu'avant. Mais une banque garde en général un SGBD relationnel pour ses comptes.

Vidéo · À regarder

FR

Base de données : Introduction au NoSQL

Algomius · YouTube

Regarde de 3:31 à 18:0414 min 33 s
Ouvrir sur YouTube à 3:31

Ce que tu vas voir (15 min) : les chapitres « Les limites du modèle relationnel », « Qu'est-ce que le NoSQL ? », « Les avantages du NoSQL », « Les inconvénients du NoSQL ». Le formateur explique les limites du modèle relationnel face aux gros volumes, définit le NoSQL, puis présente ses avantages et ses inconvénients : c'est le contenu de cette section.

2

Leçon 2

Comparer les bases de données traditionnelles et NoSQL

Tableau: SQL ou NoSQL ?

Base de données SQLBase de données NoSQL
Les données sont dans des tables de n lignes.Les données sont des collections de paires clé-valeur, de documents, de graphes…
Elles respectent un schéma strict et standard.Elles n'ont pas de schéma standard.
Plus de charge → on renforce un seul serveur (processeur, RAM, SSD…) : scalabilité verticale.Plus de charge → on ajoute des serveurs : scalabilité horizontale.
La montée en charge n'est pas prévue nativement : elle peut compromettre l'intégrité transactionnelle.La montée en charge est automatique : si un serveur tombe en panne, un autre le remplace sans interrompre le service.
Intégrité assurée par les propriétés ACID (Atomicité, Cohérence, Isolation, Durabilité).Repose sur les propriétés BASE (Basically Available, Soft state, Eventually consistent), voir la section 3.
Recommandée pour sa structure et ses schémas prédéfinis, mais mal adaptée aux données hiérarchiques.Recommandée pour les données semi-structurées ou non structurées.
La plus adaptée aux applications transactionnelles intensives : stable, atomique, cohérente.Préférée pour les ensembles de données volumineux et hiérarchiques.

Intuition

Vertical ou horizontal ?

Scalabilité verticale : ton restaurant a trop de clients, tu achètes un four plus gros. Scalabilité horizontale : tu ouvres d'autres restaurants. Le four a une taille maximale ; le nombre de restaurants, presque pas.

Tableau: Résumons

NoSQLSQL
De meilleures performances, car il ne gère pas toutes les règles de cohérence.Un langage unifié (SQL) : on retrouve la même logique d'une base SQL à l'autre.
Optimisé pour d'énormes volumes de données.Une meilleure fiabilité et cohérence, au détriment de la performance quand les données deviennent volumineuses.

SQL et NoSQL stockent et retrouvent tous les deux de l'information, mais ils ne servent pas les mêmes objectifs. Les opposer n'a pas vraiment de sens : on choisit selon le besoin.

Vidéo · À regarder

FR

Base de données : Introduction au NoSQL

Algomius · YouTube

Regarde de 18:04 à 20:001 min 56 s
Ouvrir sur YouTube à 18:04

Ce que tu vas voir (2 min) : le chapitre « SQL contre NoSQL ». Une comparaison rapide entre SQL et NoSQL, comme le tableau de cette section.

3

Leçon 3

Recenser les caractéristiques des bases de données NoSQL

Les bases NoSQL ont six caractéristiques générales :

  • un modèle de données sans schéma (schema free) ;
  • une architecture distribuée ;
  • les propriétés BASE au lieu d'ACID ;
  • des langages qui ne sont pas uniquement du SQL ;
  • la manipulation de données de structures complexes ou imbriquées ;
  • de bonnes performances sur des volumes de données qui grandissent très vite (cas des applications web).

1. Le modèle sans schéma (schema free)

  • En relationnel, on modélise d'abord les entités et les associations, puis on en déduit le schéma de la base.
  • Cette démarche est rigide : il faut savoir dès le départ comment l'application va évoluer, ce qui est rarement le cas aujourd'hui.
  • Les bases NoSQL utilisent des données dénormalisées : au lieu de relations entre tables, on intègre les informations liées dans le même enregistrement (document). On interagit avec les données sans requêtes complexes.

Exemple : des articles (posts) et leurs commentaires.

En SQL : 2 tablesEn NoSQL : 1 seule structure
Posts(id, titre) et Commentaires(id, #idPosts, texte)Posts(id, titre, commentaires)
P1 Titre1 ; P2 Titre2P1 Titre1 [comment1, comment3]
C1 P1 comment1 ; C2 P2 comment2 ; C3 P1 comment3P2 Titre2 [comment2]

En SQL, pour afficher un article avec ses commentaires, il faut une jointure. En NoSQL, les commentaires sont dans l'article :

Le post P1 en NoSQL
json
{ "id": "P1", "titre": "Titre1", "commentaires": ["comment1", "comment3"] }

2. L'architecture distribuée

  • Le volume de données et les traitements des organisations modernes ne tiennent plus sur une seule machine, même très puissante.
  • Solution : distribuer le travail sur plusieurs machines, puis regrouper et agréger les résultats de chaque machine en un résultat final. C'est le principe de MapReduce (Google, 2003-2004).
  • Les bases traditionnelles ne permettent pas facilement ce type d'architecture.
  • Les bases NoSQL sont conçues pour répartir les données et leurs traitements sur de multiples nœuds (serveurs) : c'est le partitionnement horizontal (on parle aussi de sharding).
  • Problème : on ne peut pas avoir en même temps une disponibilité parfaite, une tolérance au partitionnement et une cohérence parfaite. Il faut toujours sacrifier un aspect au profit des autres.

Le théorème CAP

Règle

Théorème CAP (Consistency, Availability, Partition tolerance)

Dans une base de données distribuée, on ne peut garantir au plus que deux des trois propriétés suivantes :

  • C — Consistency (cohérence) : tous les nœuds ont les mêmes données au même moment ;
  • A — Availability (disponibilité) : la perte d'un nœud n'empêche pas le système de fonctionner et de servir toutes les données ;
  • P — Partition tolerance (résistance au partitionnement) : si le réseau est coupé entre des nœuds, chaque partie continue de fonctionner de manière autonome.

On obtient donc trois familles : CA (cohérence + disponibilité), CP (cohérence + partitionnement) et AP (disponibilité + partitionnement).

Intuition

Deux caissiers d'une banque sont au téléphone pour partager le solde d'un compte. La ligne coupe (partition). Soit ils refusent de servir les clients tant que la ligne est coupée (on garde la cohérence, on perd la disponibilité : CP). Soit ils continuent de servir, chacun avec son solde, quitte à se mettre d'accord plus tard (on garde la disponibilité, on perd la cohérence immédiate : AP).

Piège classique

Dans le résumé

« Aviability » et « Avaibility » s'écrivent Availability. La phrase « la cohérence, la disponibilité et la distribution » parle de la résistance au partitionnement (P).

3. BASE au lieu d'ACID

Les propriétés ACID ne s'appliquent pas, ou pas complètement, dans un contexte NoSQL distribué. Les bases NoSQL reposent plutôt sur les propriétés BASE :

PropriétéSignification
Basically Available (basiquement disponible)la base garantit la disponibilité des données, quelle que soit la charge
Soft state (état souple)la base n'a pas à être cohérente tout le temps : son état peut changer pendant les mises à jour ou l'ajout / retrait de serveurs, sans que cela nuise à ses performances
Eventually consistent (cohérente à terme)les nœuds n'ont pas besoin d'avoir exactement les mêmes données à chaque instant : ils se synchronisent dès que possible

Les bases NoSQL privilégient en général la disponibilité à la cohérence : AP plutôt que CP.

Piège classique

Dans le résumé

La phrase sur Soft state est coupée (« sans que cela ne ??? sa performance ») : il faut lire « sans que cela nuise à sa performance ».

Vidéo · À regarder

FR

Base de données : Introduction au NoSQL

Algomius · YouTube

Regarde de 44:13 à 48:484 min 35 s
Ouvrir sur YouTube à 44:13

Ce que tu vas voir (5 min) : les chapitres « Étendre une base NoSQL », « Associer les données en NoSQL ». Le formateur montre comment on étend une base NoSQL en la répartissant sur plusieurs serveurs, puis comment on associe les données sans jointure : c'est l'architecture distribuée et le modèle sans schéma de cette section.

4

Leçon 4

Recenser les types de bases de données NoSQL

Il existe quatre types de bases NoSQL.

1. Les bases de données clé-valeur

  • C'est le type le plus simple.
  • Les données sont des couples (clé, valeur).
  • La valeur peut être une valeur simple, un objet sérialisé…
  • Grâce à sa simplicité, ce type traite efficacement un très grand nombre de requêtes.
  • Il est très pratique pour stocker les profils des utilisateurs.
CléValeur
Ahmedtype: Formateur; spec: Dev digital; modules: M102, M104, M106, M203
Sanaatype: Stagiaire; filière: Dev digital; groupe: DD203; niveau: 2A
Kamaltype: Stagiaire; filière: Infra digitale; niveau: 1A

La base ne « comprend » pas la valeur : elle la range et la rend quand on lui donne la clé, comme un vestiaire avec ses tickets numérotés.

Exemples : DynamoDB (Amazon), Berkeley DB (Oracle, utilisée par RPM, SVN…), Voldemort (LinkedIn, et pas le sorcier de Harry Potter), Riak, Redis.

2. Les bases de données orientées document

  • C'est une évolution du type clé-valeur.
  • La valeur est un document dont la structure est libre.
  • Les documents sont au format JSON ou XML.
  • Avantage : pas de jointures pour reconstruire une information, car tout est dans le document.
Clé : Ahmed
json
{ "type": "Formateur", "spec": "Dev digital", "modules": ["M102", "M104", "M106", "M203"] }
Clé : Sanaa
json
{ "type": "Stagiaire", "filiere": "Dev digital", "groupe": "DD203", "niveau": "2A", "option": "Mobile" }
Clé : Kamal
json
{ "type": "Stagiaire", "filiere": "Infra digital", "niveau": "1A" }

Cette fois, la base lit l'intérieur de la valeur : on peut chercher « tous les stagiaires de niveau 2A ».

Exemples : MongoDB (Adobe, Bosch, Cisco, eBay…), CouchDB (Apache ; Disney, PayPal, Ryanair…), RavenDB (plateformes .NET / Windows).

Piège classique

Dans le résumé

Le résumé écrit « MongoDB de SourceForge » : MongoDB est développé par la société MongoDB Inc. (anciennement 10gen) ; SourceForge est seulement un site d'hébergement de projets. Il range aussi Cassandra parmi les bases orientées document : Cassandra est une base orientée colonnes (famille de colonnes), comme HBase.

3. Les bases de données orientées colonne

  • Ce type change la représentation traditionnelle en lignes.
  • Une requête peut se concentrer sur les colonnes utiles sans lire les autres.
  • Il est adapté aux systèmes qui font de gros calculs analytiques : comptages, moyennes, sommes…

Exemple. La représentation traditionnelle, en lignes, laisse beaucoup de cases vides :

IdTypeSpécialitéNiveauFilièreGroupeOptionModule
AhmedFormateurDev DigitalM102, M104, M106, M202
SanaaStagiaire2ADev DigitalDD203Mobile
KamalStagiaire1AInfra Digitale
LailaFormateurInfra DigitaleM105, M107, M201

La représentation par colonnes range chaque colonne à part, avec seulement les valeurs qui existent :

Colonne TypeColonne FilièreColonne ModuleColonne Option
Ahmed : FormateurSanaa : Dev DigitalAhmed : M102Sanaa : Mobile
Sanaa : StagiaireKamal : Infra DigitaleAhmed : M104
Kamal : StagiaireAhmed : M106
Laila : FormateurAhmed : M202
Laila : M105, M107, M201

Pour compter les formateurs, la base lit seulement la colonne Type.

Piège classique

Dans le résumé

La colonne « Filière » de l'exemple contient « Stagiaire » : il faut lire les filières (Sanaa : Dev Digital, Kamal : Infra Digitale).

Exemples : BigTable (Google), HBase (Apache), Cassandra (Apache, créée par Facebook). Le résumé cite aussi Spark SQL et Elasticsearch : ce sont plutôt un moteur de calcul et un moteur de recherche, qui utilisent un stockage par colonnes.

4. Les bases de données orientées graphe

  • Elles reposent sur la théorie des graphes : des nœuds (les objets) reliés par des arcs (les relations).
  • Elles sont conçues pour les données fortement connectées, avec un nombre de relations inconnu à l'avance (les réseaux sociaux, par exemple).
  • C'est le type le plus proche du monde réel.

Exemple : les nœuds Ahmed (Formateur), Sanaa et Kamal (Stagiaires), Laila (Formatrice) sont reliés aux nœuds Dev Digital, Infra Digitale, Mobile et aux modules M102, M105, M201, M202. On peut demander : « quels stagiaires suivent un module enseigné par Ahmed ? » en suivant les arcs.

La principale solution est Neo4j.

Vidéo · À regarder

FR

Base de données : Introduction au NoSQL

Algomius · YouTube

Regarde de 20:00 à 44:1324 min 13 s
Ouvrir sur YouTube à 20:00

Ce que tu vas voir (24 min) : les chapitres « Les grandes familles de bases NoSQL », « Le modèle clé-valeur », « Le modèle orienté colonnes », « Le modèle document », « Le modèle graphe ». Le formateur présente les grandes familles de bases NoSQL, puis détaille chaque modèle avec un exemple : clé-valeur, orienté colonnes, document et graphe, dans le même ordre que la section.

5

Leçon 5

Comparer les différents types de bases de données NoSQL

Riak (clé / valeur)MongoDB (document)Cassandra (colonne)HBase (colonne)
Coût+++++++
Cohérence+++++
Disponibilité+++++++
Langage d'interrogation+++++++
Points fortstrès disponible, langage de requêtes performant, adapté au cloudla plus populaire, structure souple, bonnes performances, favorise la cohérencesolution mature et populaire, excellente pour les grands volumes et les bases distribuéesdestinée aux données volumineuses, privilégie la disponibilité à la cohérence, mais langage réduit

Piège classique

Dans le résumé

Le tableau indique « Cassandra (Document) » : Cassandra est une base orientée colonne, comme le dit la suite de la colonne (« grands volumes, bases distribuées »).

Pourquoi choisir MongoDB ?

MongoDB vient de humongous (« gigantesque ») : une base de données gigantesque. C'est la base NoSQL la plus populaire, grâce à ces points forts :

  • elle est orientée document et open source ;
  • elle se met à l'échelle automatiquement (scalabilité automatique) ;
  • elle assure une haute performance et une bonne disponibilité ;
  • elle se place du côté CP du théorème CAP : elle choisit la cohérence et la résistance au partitionnement ;
  • elle communique facilement avec les langages courants (Java, JavaScript, PHP, Python…) ;
  • elle fonctionne sur plusieurs plateformes (machine virtuelle, cloud…) ;
  • elle garde les fonctionnalités essentielles des bases relationnelles (index, requêtes riches, agrégations, transactions).

Sa popularité vient de son adoption massive par les développeurs du monde entier, et de sa facilité d'intégration dans toute application qui manipule des documents ou des objets. Le classement DB-Engines (db-engines.com) la place en tête des bases orientées document.

À savoir

CP alors que le NoSQL est souvent AP ?

Le résumé dit que les bases NoSQL privilégient en général AP, puis que MongoDB est CP. Il n'y a pas de contradiction : chaque base NoSQL fait son choix. Cassandra est AP ; MongoDB est CP (par défaut, on lit et écrit sur le serveur principal d'un groupe de serveurs, ce qui garantit des données à jour).

Vidéo · À regarder

FR

Base de données : MongoDB - Installation

Algomius · YouTube

Regarde de 1:49 à 6:254 min 36 s
Ouvrir sur YouTube à 1:49

Ce que tu vas voir (5 min) : le chapitre « Mongo, c'est quoi ? ». Le formateur présente MongoDB : une base orientée document, ses points forts et son vocabulaire de départ.

Travaux pratiques

TP · Préparer la boutique en NoSQL

Dans la partie 1, la boutique eshop_app_db avait les tables clients, categorie, produit, commandes et ligne_commande. Sur papier :

  1. Dessine comment tu rangerais une commande de Zaki Fatima (2 produits : un PC portable HP à 7 490 DH et une souris à 120 DH) en un seul document JSON.
  2. Quelles jointures SQL disparaissent ?
  3. Quelle information est maintenant dupliquée si Fatima passe une deuxième commande ?

Exercices

Exercice 1.1

QCM : découvrir le NoSQL

  1. 1NoSQL signifie…

  2. 2Les 3V du Big Data sont…

  3. 3Ajouter des serveurs pour absorber la charge, c'est la scalabilité…

  4. 4Le théorème CAP dit qu'une base distribuée garantit au plus…

  5. 5Le « E » de BASE signifie…

  6. 6Le type NoSQL le plus simple est…

  7. 7MongoDB est une base orientée…

  8. 8Pour un réseau social (amis d'amis), le type le plus adapté est…

  9. 9Neo4j est une base…

  10. 10Un inconvénient du NoSQL est…

0/10 répondues
Exercice 1.2

SQL ou NoSQL ?

Pour chaque besoin, dis si tu choisirais plutôt une base SQL ou NoSQL, et quel type de NoSQL le cas échéant. Justifie en une phrase.

  1. Les comptes bancaires et les virements d'une banque.
  2. Le panier et la session de millions de visiteurs d'un site (lecture très rapide par identifiant).
  3. Un catalogue de produits très variés (un téléphone n'a pas les mêmes caractéristiques qu'un tee-shirt).
  4. Les relations « ami de » et « suit » d'un réseau social.
  5. Des statistiques de ventes sur des milliards de lignes (sommes et moyennes par colonne).
Exercice 1.3

Le théorème CAP

Une application de réservation de places de concert tourne sur deux serveurs, à Casablanca et à Agadir. Le réseau entre les deux est coupé pendant 10 minutes. Explique ce qui se passe si la base est CP, puis si elle est AP. Laquelle choisirais-tu pour éviter de vendre deux fois la même place ?

L'essentiel du chapitre

À retenir

  • NoSQL = Not Only SQL : des bases qui n'utilisent pas le modèle relationnel, nées au milieu des années 2000 pour le Big Data (Volume, Vélocité, Variété).
  • Avantages : simple, objets stockés directement, open source, ajout de serveurs facile, pas de jointures. Inconvénients : pas de clé étrangère, cohérence à gérer dans le programme, requêtes incompatibles avec SQL.
  • SQL : schéma strict, scalabilité verticale, ACID. NoSQL : sans schéma, scalabilité horizontale, BASE.
  • CAP : Cohérence, Disponibilité, résistance au Partitionnement ; on en garde deux au plus. MongoDB est CP.
  • Quatre types : clé-valeur (Redis, DynamoDB, Riak), document (MongoDB, CouchDB), colonne (HBase, Cassandra), graphe (Neo4j).
Inscris-toi pour suivre ta progression →
Chapitre suivantMettre en place une base de données MongoDB

Sur cette page

  1. Objectifs
  2. 1.Définir le concept de bases de données NoSQL
  3. 2.Comparer les bases de données traditionnelles et NoSQL
  4. 3.Recenser les caractéristiques des bases de données NoSQL
  5. 4.Recenser les types de bases de données NoSQL
  6. 5.Comparer les différents types de bases de données NoSQL
  7. TP · Préparer la boutique en NoSQL
  8. Exercices corrigés
  9. L'essentiel