MongoDB
Gestion du serveur NoSQL MongoDB
Mise en place d'un serveur Mongo
MongoDB est une base de données NoSQL qui stocke les données sous forme de documents (paires clé/valeur) utilisée pour le stockage de gros volumes de données.
MongoDB existe sous trois versions : MongoDB Atlas - Base de données en tant que service. Community Server - Utilisation gratuite pour la communauté des développeurs et enfin MongoDB Enterprise Edition - La version commerciale avec des fonctionnalités supplémentaires
Utiliser MongoDB directement sur le cloud
Pour utiliser le cloud de MongoDB (donc sans le télécharger), on se connecte à MongoDB Atlas et on créé un cluster (voir ci-dessous: Création d'un cluster)
Télécharger MongoDB Community Server en local
Vous pouvez le télécharger sur le site de MongoDB
Sous Windows, vous le retrouverez dans : "C:\Program Files\MongoDB\Server\x.x\bin" dans lequel "mongo.exe" lance la fenêtre shell de mongo (invite de commande) et "mongos.exe" lance le serveur (mais déjà lancé puisque service Windows).
Créer un dossier de travail
Si vous avez téléchargé MongoDB en local, il vous faut créer un répertoire pour stocker les données. Par exemple : C:\data\db (par défaut)
Création d'un cluster
Pour vous connecter à votre serveur MongoDB (local ou cloud), vous devez créer un cluster sur MongoDB Atlas. Une fois inscrit, choisissez la région de votre cluster et gardez les autres options par défaut (Cluster0). Suivez ensuite l'installation via le bouton vert "Get Started". Pour l'IP adresse, choisissez "Allow Access from anywhere". A la fin de l'installation, les options de connexion via Mongo Shell ou via l'interface Compas vous seront fournies.
Connexion au serveur via Compass
Pour l'administration du serveur NoSQL MongoDB, à la place des lignes de commandes, nous pouvons utiliser l'interface graphique MongoDB Compass qui correspond à l'interface phpMyAdmin mais qui, elle, ne fonctionne que pour les serveurs de BDD relationnel.
Normalement, si tout c'est bien passé lors du téléchargement du MongoDB Community Server, l'interface utilisateur MongoDB Compass est automatiquement téléchargée et c'est ouverte (un raccourci bureaux est dorénavant accessible). Sinon, c'est que vous n'avez pas le framework Microsoft .NET version 4.5 ou ultérieure.
Connexion au serveur MongoDB
Vous pouvez vous connecter via le Mongo Shell ou via l'interface Compass
Pour une connexion à votre serveur MongoDB via Compass, vous devez saisir une ligne (une chaîne de connexion) qui ressemble à celle-ci
mongodb+srv://<user>:<password>@cluster0.tumbv.mongodb.net/<database>
Cette ligne de connexion vous est fournie à la fin de la création d'un cluster sur MongoDB Atlas (bouton Connect)
Depuis Compass, onglet Databases, vous devriez voir maintenant deux bases de données : Admin et Local. Pour créer une nouvelle base, utilisez le bouton "+" visible en bas à gauche de l'écran (juste au dessus de l'accès au Shell de Mongo)
♫ Du Mongo au Mambo, il n'y a qu'un pas, qu'a franchi Lou Bega :-)
Sinon, vous pouvez toujours écouter la plus belle des salsa, la salsa japonaise ♫
Création d'une collection
Une collection c'est l'équivalent d'une table pour une base de données relationnelle. Un document est analogue à un enregistrement.
Vous pouvez créer une nouvelle base de donnée (comme "ma_bd") ainsi qu'une nouvelle collection (comme "test")- Depuis votre interface locale Compass via le bouton "+" visible en bas à gauche de l'écran (Create Database).
- Depuis le cloud MongoDB Atlas en cliquant depuis votre cluster sur le bouton gris "Collections" puis sur le bouton "Create Database"
Importer les données
Plutôt que de créer vous même une collection, vous pouvez importer des collections publiques directement dans votre base de donnée noSQL
Importer des exemples
Pour vous entrainer, depuis la bouton Get Started vert de MongoDB Atlas, choisissez dans le menu "Load Sample Data" d'importer les Sample Dataset (Sample = Echantillon). Vous pouvez aussi utiliser directement le bouton gris "..." visible depuis votre cluster. Cela vous fournira 8 bases de données OpenData avec leur collections comme la liste des restaurants américains ou la liste des airBnB.
Importer un jeu de données Open Data
Sinon, et plus intéressant, peut importer un jeu de données publiques du gouvernement (Open Data) au format JSon. Rendez-vous sur Data.gouv.fr pour télécharger un jeux de données Open Data (par exemple en recherchant Restaurant pour récupérer la liste des restaurants proposant la livraison et/ou la vente à emporter pendant la crise sanitaire
Pour l'importer dans notre base de données, ouvrez Compas et sélectionnez une collection vide. Cliquer sur le bouton vert "Import Data" au centre de l'écran
Modélisation de documents
MongoDB stocke les données sous la forme de documents JSON. Ainsi si vous avez un SGBDR avec deux tables, vous ne pourrez pas faire de requêtes de jointure. Il faut dans ce cas trouver une solution pour fusionner les deux tables pour n'en produire qu'une seule en sortie. C'est ce qu’on appelle la dénormalisation : Plus d'infos