Les bases de données NoSQL
Objectif : découverte du NoSQL et mise en œuvre avec MongoDB
Introduction
Vidéo1 (30'): Présentation NoSQL – introduction MongoDB
Méthodologie :
- Dans un premier temps, visionner la vidéo et prendre des notes sur feuille en même temps.
- dans un second temps, reporter vos notes au propre dans un compte-rendu de TP sur Google Docs - traiter notamment les 3 points suivants.(durée prévue : 1h)
1/Dresser un tableau comparatif Bases de données relationnelles / NoSQL
- la structuration des données
- unité de stockage
- langage(s) utilisé(s)
- les fonctionnalités, les objectifs
- points forts
- points faibles
2/Les types de bases NoSQL (principes et exemple)
3/MongoDB
- type de BD
- licence
- format des données
- avantages
- analogie avec SQL
Installation de MongoDB
MongoDB peut-être manipulé en ligne sur le web avec stockage dans le cloud, nous nous allons faire une installation locale :
- un serveur MongoDB
- un outil de gestion graphique : Compass
Note: Complément : Qu'est-ce que MongoDB database Atlas ?
Serveur MongoDB Community Edition
- A télécharger ici et à installer, cocher MongoDBCompass lors de l'installation(GUI)
- Télécharger des outils de gestion de MongoDB en ligne de commande ici
- Dans Compass, ajouter un nouveau serveur et ajouter le serveur local
mongodb:localhost:27017
par défaut, nommer-le et lancer-le - Décompresser les database-tools et les copier dans le répertoire bin du serveur
- Ajouter ce dossier(bin) au PATH :
- Ouvre Exécuter (Win + R), tape sysdm.cpl et valide.
- Va dans l’onglet Avancé → Variables d’environnement.
- Dans Variables système, trouve Path et clique sur Modifier.
- Ajoute le chemin du dossier bin des MongoDB Tools.
- Redémarre ton terminal et réessaie la commande mongorestore en ligne de commande en étant administrateur (mongorestore –version)
- Restaurer la base movies :
mongorestore --db dbmovies --collection movies CHEMIN-VERS-movies.bson
- Actualiser (Refresh) Compass, dbmovies doit apparaître
- Représenter la structure du document JSON de la collection obtenue sous la forme d’un schéma relationnel dans votre compte-rendu de TP
-
- passer les étapes d'installation, de récupération de la collection
- bien lire et comprendre les concepts du NoSQL (Théorème du CAP, Quatre grandes familles,…) - compléter votre compte-rendu de TP créé plus haut
- faire le compte-rendu dans un document : requête en français/commande MongoDB/résultat
- dans le MongoDB Shell de Compass, testez les requêtes suivantes et dans votre compte-rendu de TP reportez-les sous la forme requête en français/commande MongoDB/résultat :
- que fait la requête déjà présente dans le MongoSHELL?(
it
pour afficher plus de documents) - tester la requête suivante, quel est son rôle ?
db.getCollection('movies').find({title:"Le silence des agneaux"});
Quel est l’année du film ? Quel est le nom - prénom du metteur en scène ?
- réaliser les requêtes des Quizz du gitbook
- autres requêtes à rédiger et à tester (aide requêtage NoSQL)
- Quel est le nombre de films dans la collection ?
- Combien y a t'il de films en 2015 ?
- Combien y a t'il de films avant 1980 ?
- Lister les films réalisés par Ridley Scott
- Dans combien de films joue Bruce Willis ?
- Lister les films par année croissante
- Lister les titres des films par année croissante
- Allons plus loin : Créer une nouvelle base de données dbrestaurants avec une collection restaurants et importer les données du fichier restaurants.json, traiter les requêtes suivantes :
- Filtrer les lieux par quartier “Manhattan” et cuisine “American” ;
- Afficher les adresses du quartier de Brooklyn ;
- Grouper les restaurants par type de cuisine et les compter ;
- Créez un pipeline d’agrégation pour le quartier “Brooklyn”, et donnez le nombre de restaurants par type de cuisine.