Notions de Base sur NoSQL et MongoDB
1. Qu'est-ce qu'une base de données NoSQL ?
Une base de données NoSQL (Not Only SQL) est conçue pour stocker et gérer des données dans
des formats non relationnels.
Contrairement aux bases relationnelles, elles ne reposent pas sur des tables, lignes et colonnes.
Caractéristiques principales :
1. Flexible : Les modèles de données sont souvent sans schéma fixe.
2. Scalabilité horizontale : Elles peuvent gérer une grande quantité de données en ajoutant plus de
serveurs.
3. Performance élevée : Optimisées pour des opérations rapides sur de grandes quantités de
données.
4. Divers formats : Document (MongoDB), Clé-Valeur (Redis), Colonne (Cassandra), Graphes
(Neo4j).
2. MongoDB : Qu'est-ce que c'est ?
MongoDB est une base de données NoSQL orientée documents. Les données sont stockées sous
forme de documents JSON ou BSON.
Caractéristiques principales :
1. Sans schéma : Les collections n'ont pas de structure rigide.
2. Scalabilité horizontale : MongoDB utilise le sharding pour distribuer les données sur plusieurs
serveurs.
3. Requêtes riches : Permet des filtres, tris, agrégations, et jointures simples.
Notions de Base sur NoSQL et MongoDB
3. Concepts clés en MongoDB :
a) Collection et Document :
- Document : Unité de base des données, similaire à une ligne dans une table SQL.
- Collection : Ensemble de documents, similaire à une table en SQL.
b) Identifiant unique _id :
Chaque document a un champ unique _id généré automatiquement.
c) Requêtes MongoDB :
- Insérer un document : db.users.insertOne({ name: "John", age: 30 });
- Rechercher un document : db.users.find({ age: { $gt: 25 } });
- Mettre à jour un document : db.users.updateOne({ name: "John" }, { $set: { age: 31 } });
- Supprimer un document : db.users.deleteOne({ name: "John" });
4. Différences entre SQL et NoSQL :
| Aspect | SQL | NoSQL (MongoDB) |
|--------------------|--------------------|--------------------|
| Modèle de données | Tabulaire | JSON/BSON |
| Schéma | Rigide | Flexible |
| Scalabilité | Verticale | Horizontale |
| Performances | Relations optimisées | Grandes données |
5. Cas d'utilisation de MongoDB :
1. Applications web (données utilisateur).
2. IoT et Big Data (grandes quantités de données).
Notions de Base sur NoSQL et MongoDB
3. Catalogues de produits (descriptions flexibles).
4. Réseaux sociaux (relations utilisateurs).