Retour au blog

Quiz : Les Bases de Données NoSQL (MongoDB, Redis)

Découvre pourquoi le NoSQL révolutionne le stockage des données modernes et teste ton expertise sur les technologies les plus populaires.

Cet article a été rédigé à des fins pédagogiques. Les informations présentées peuvent évoluer. Nous t’invitons à vérifier auprès de sources officielles.

L'essentiel à connaître

Le NoSQL (Not Only SQL) désigne une catégorie de systèmes de gestion de bases de données qui s'écartent du modèle relationnel classique. Contrairement au SQL qui utilise des tables avec des schémas rigides (colonnes et lignes fixes), le NoSQL offre une grande flexibilité. Il est conçu pour répondre aux besoins de scalabilité horizontale et de gestion de gros volumes de données non structurées ou semi-structurées, typiques du Big Data et des applications web modernes.

MongoDB est l'exemple le plus célèbre de base de données orientée documents. Les données y sont stockées sous forme de documents JSON (ou BSON), ce qui permet de regrouper des informations complexes dans une seule structure sans avoir besoin de jointures coûteuses. C'est l'outil idéal pour les catalogues de produits, les blogs ou toute application où le schéma des données évolue fréquemment.

Redis, de son côté, est une base de données de type clé-valeur fonctionnant principalement en mémoire vive (RAM). Cette caractéristique lui confère des performances de lecture et d'écriture exceptionnelles, souvent inférieures à la milliseconde. On l'utilise principalement pour la gestion des sessions utilisateur, le caching (mise en cache) et les systèmes de messagerie en temps réel.

Définition : Le NoSQL est une approche de stockage de données qui ne repose pas sur les relations tabulaires traditionnelles, privilégiant la performance et la flexibilité.

À retenir : Choisir entre SQL et NoSQL dépend de ton besoin : cohérence stricte et relations complexes (SQL) ou vitesse et flexibilité de schéma (NoSQL).

Les points clés

Il existe quatre grands types de NoSQL : orienté documents (MongoDB), clé-valeur (Redis), orienté colonnes (Cassandra) et orienté graphes (Neo4j). Chaque type répond à un cas d'usage spécifique. Par exemple, si tu dois analyser les relations complexes entre des amis sur un réseau social, une base de données de graphes sera bien plus performante qu'un système relationnel.

L'un des concepts cruciaux à comprendre est le théorème CAP. Il stipule qu'un système distribué ne peut garantir simultanément que deux des trois propriétés suivantes : Cohérence (Consistency), Disponibilité (Availability) et Tolérance au partitionnement (Partition tolerance). Les bases NoSQL font souvent des compromis sur la cohérence pour favoriser la disponibilité et la montée en charge.

Théorème CAP : $$C + A + P \implies \text{Choisis-en seulement deux}$$

Piège classique : Penser que le NoSQL remplace totalement le SQL. Dans de nombreux cas, une architecture hybride est la meilleure solution.

Quiz : Teste tes connaissances

Question 1 : Que signifie l'acronyme NoSQL ?

A. No SQL (Pas de SQL du tout)
B. New Online Standard Query Language
C. Not Only SQL
D. Network Open System Query

Réponse : C. L'idée est que ces systèmes complètent le SQL ou offrent une alternative, mais n'interdisent pas l'usage du langage SQL pour certaines tâches.

Question 2 : Quel format de données est utilisé par MongoDB pour stocker ses documents ?

A. CSV
B. BSON (proche du JSON)
C. SQL Tables
D. XML

Réponse : B. Le BSON est une représentation binaire du JSON. Il permet de stocker des données de manière flexible sans structure de table rigide.

Question 3 : Quelle est la particularité principale de Redis ?

A. Il utilise uniquement des disques durs lents
B. Il est spécialisé dans les données géographiques
C. Il ne supporte pas les nombres
D. Il stocke les données principalement en mémoire vive (RAM)

Réponse : D. En stockant tout en RAM, Redis atteint des vitesses records. C'est pour cela qu'il est parfait pour le cache ou les compteurs en temps réel.

Question 4 : Quel type de base de données est idéal pour un réseau social (amis d'amis) ?

A. Base de données de graphes
B. Base de données clé-valeur
C. Fichier Excel
D. Base de données orientée colonnes

Réponse : A. Les bases de graphes (comme Neo4j) sont conçues pour gérer les relations entre entités de manière ultra-performante.

Question 5 : Dans MongoDB, comment appelle-t-on l'équivalent d'une "ligne" de table SQL ?

A. Une colonne
B. Une collection
C. Un document
D. Une clé

Réponse : C. Une "Table" SQL devient une "Collection" NoSQL, et une "Ligne" devient un "Document".

Question 6 : Lequel de ces cas d'usage est typique pour Redis ?

A. Stockage de photos haute résolution
B. Gestion des sessions utilisateur sur un site web
C. Archivage de données froides (vieux logs)
D. Rapports financiers annuels

Réponse : B. Comme les sessions nécessitent une lecture/écriture très rapide à chaque clic de l'utilisateur, la vitesse de Redis est indispensable.

Question 7 : Que signifie la "Scalabilité Horizontale" ?

A. Acheter un processeur plus puissant pour le serveur
B. Augmenter la taille des câbles réseau
C. Changer de langage de programmation
D. Ajouter plusieurs serveurs pour répartir la charge

Réponse : D. Contrairement au SQL qui grandit souvent "verticalement" (plus gros serveur), le NoSQL est né pour le "sharding" (répartition sur plusieurs petits serveurs).

Question 8 : Dans le théorème CAP, que signifie la "Disponibilité" (Availability) ?

A. Chaque requête reçoit une réponse, même en cas de panne partielle
B. Les données sont les mêmes sur tous les serveurs à tout instant
C. La base de données est gratuite
D. Le temps de réponse est toujours inférieur à 10ms

Réponse : A. Un système "disponible" garantit une réponse à l'utilisateur, même si la donnée renvoyée n'est pas la version la plus récente.

Question 9 : MongoDB est particulièrement utile quand :

A. Les données ne changent jamais de structure
B. Tu as besoin de jointures très complexes entre 15 tables
C. Le schéma des données est flexible et évolutif
D. Tu veux faire du calcul scientifique pur

Réponse : C. Grâce à son format document, tu peux ajouter un nouveau champ à un utilisateur sans avoir à modifier toute la structure de la base.

Question 10 : Quel est l'inconvénient principal de Redis ?

A. Il est trop lent
B. La capacité de stockage est limitée par la RAM disponible
C. On ne peut pas l'utiliser en Python
D. Il ne supporte pas le format JSON

Réponse : B. La RAM coûte plus cher que le disque dur. Stocker des téraoctets de données dans Redis reviendrait extrêmement cher.

Question 11 : Qu'est-ce qu'une "Collection" dans MongoDB ?

A. Un groupe de documents similaires
B. Un outil de nettoyage de disque
C. Une fonction de tri
D. Une sauvegarde sur le cloud

Réponse : A. C'est l'équivalent de la Table en SQL. Elle contient des documents JSON qui partagent une certaine thématique (ex: collection 'Utilisateurs').

Question 12 : Pourquoi NoSQL est-il populaire pour le Big Data ?

A. Parce que c'est plus récent
B. Parce que Google l'a interdit
C. Parce qu'il ne nécessite aucun code
D. Pour sa capacité à traiter des volumes massifs de données variées

Réponse : D. La flexibilité du schéma et la répartition sur plusieurs serveurs permettent de gérer des flux de données que le SQL classique peine à absorber.

Question 13 : Quel terme désigne le fait de découper une base de données sur plusieurs serveurs ?

A. Caching
B. Indexing
C. Sharding
D. Parsing

Réponse : C. Le sharding divise les données en "morceaux" (shards) répartis sur différents nœuds pour améliorer les performances.

Question 14 : Peut-on faire des requêtes SQL sur MongoDB nativement ?

A. Oui, c'est le langage par défaut
B. Non, il utilise un langage de requête propre (MQL)
C. Seulement les mardis
D. Uniquement si on installe Windows

Réponse : B. MongoDB utilise son propre langage basé sur des objets JavaScript/JSON pour interroger les données.

Question 15 : Quel avantage offre le stockage orienté documents ?

A. Toutes les informations d'un objet sont au même endroit
B. C'est plus joli à lire
C. Ça prend moins de place
D. On peut l'imprimer plus facilement

Réponse : A. En SQL, pour un utilisateur et ses commandes, il faut faire une jointure. En NoSQL, on peut imbriquer les commandes directement dans le document utilisateur.

Comment ORBITECH Peut T'aider

ORBITECH AI Academy met à ta disposition des outils concrets pour réviser plus efficacement et progresser à ton rythme.

Tous ces outils sont disponibles sur ta plateforme ORBITECH. Connecte-toi et explore ceux qui correspondent le mieux à tes besoins !

Contenu en libre diffusion — partage autorisé sous réserve de mentionner ORBITECH AI Academy comme source.

COMMENCE DÈS MAINTENANT

Rejoins ORBITECH et accède à des cours, exercices et quiz personnalisés.

Commencer gratuitement
🌍 ORBITECH AI Academy — Free education in 88 languages for 171 countries