Académique Documents
Professionnel Documents
Culture Documents
2023-2024
Objectifs du TP :
Le TP aborde les points suivants :
1. Familiarisation avec un système NoSQL
Travail demandé :
1. Mise en route et opérations basiques
1.2. Shell Mongo et CRUD
les commandes show dBs et show collections permettent respectivement d’afficher les
bases et les collections créées.
Pour créer ou se placer sur une base différente, bdTest dans notre cas, tapez use bdTest.
pour afficher les documents que vous venez d’insérer dans la collection inventory.
Recherche
Les recherches dans MongoDB se font avec les méthodes find, findOne et findMany. MongoDB
dispose d’un langage propriétaire pour interroger les collections. Ce langage a la même expressivité
que SQL excepté pour les jointures. Exécutez les requetés suivantes et donnez les requetés
´équivalentes en SQL.
• Cette commande cherche les documents dans la collection inventory où le champ
qty est égal à 25.
• SQL : SELECT * FROM inventory WHERE qty = 25;
Cette commande cherche les documents dans la collection inventory où le champ item
commence par la lettre "p" en utilisant une expression régulière.
Cette commande cherche les documents où le champ qty est inférieur à 30 en utilisant
l'opérateur $lt et compte le nombre de documents correspondants.
permet de rechercher les documents où le champ status est égal à "A" ET le champ qty est
inférieur ou égal à 30.
SQL : SELECT * FROM inventory WHERE status = 'A' AND qty <= 30;
Cette commande cherche des documents dans la collection inventory où soit le champ
status est égal à "A" OU le champ qty est supérieur ou égal à 10.
SQL : SELECT * FROM inventory WHERE status = 'A' OR qty >= 10;
Cette commande cherche les documents où le champ qty est supérieur à 30 en utilisant
l'opérateur $gt (supérieur à).
Cette commande cherche les documents où le champ qty est 25 et renvoie uniquement le
champ item pour chaque document correspondant.
Modification
Les modifications se font avec les m´méthodes update, updateOne et updateMany. Ces
m´méthodes prennent en entrée deux paramètres, le premier indiquant les documents sur lesquels
s’effectuera la modification et le second la modification elle-même (db.collection.updateOne(, , )).
Suppression
La suppression se fait avec les m´méthodes delete, deleteOne et deleteMany.
2.2 Import d’un fichier • Telechargez la collection movies vue en cours `a l’adresse https://drive.
google.com/file/d/0BxrjRB_M1OMVOHJHQ3RDdW5KM2c/view?usp=sharing • Dans une autre
fenêtre, importer le fichier movies.json avec la commande ci-après. La commande importe les
documents contenus dans le fichier movies.json dans la collection movies de la base dbtp. Notez que
vous n’avez pas besoin de créer ni la collection ni la base avant d’exécuter la commande. L’argument
jsonArray de la commande indique `a l’utilitaire d’import qu’il s’agit d’un tableau d’objets `a créer
individuellement, et non d’un unique document JSON
4. Et initialisons le RS
5. On peut alors ajouter le second noeud (remplacer localhost par le nom de la machine).
6. db.isMaster() : indique s’il s’agit du primary
rs.slaveOk(), cette commande permet de lire à partir d'un nœud esclave (slave) dans un ensemble de
réplicas. Lorsque vous exécutez rs.slaveOk() dans le shell mongo, cela autorise les opérations de
lecture sur un nœud esclave, ce qui signifie que vous pouvez effectuer des requêtes de lecture
(comme find) sur un nœud esclave, même si le serveur est configuré en tant que nœud esclave
(slave) dans un ensemble de réplicas.
Tuons notre maître.
Dans MongoDB, un ensemble de réplicas est un ensemble de serveurs MongoDB interconnectés qui
maintiennent des copies synchronisées des données, offrant ainsi une haute disponibilité et une
tolérance aux pannes. Chaque ensemble de réplicas a un nœud primaire (primary node) et plusieurs
nœuds esclaves (secondary nodes).
Si le nœud primaire (master) dans un ensemble de réplicas échoue ou devient inaccessible pour une
raison quelconque, MongoDB utilise un processus appelé élection pour élire un nouveau nœud
primaire (master) parmi les nœuds esclaves (secondary nodes) disponibles.
Voici comment le processus se déroule lorsqu'un nœud primaire (master) échoue dans un ensemble
de réplicas MongoDB :
Il est important de noter que ce processus d'élection est automatique et ne nécessite aucune
intervention manuelle. Cela garantit que le système reste disponible et fonctionnel même en cas de
panne d'un nœud primaire.
L'ajout d'un nouveau nœud au sein de l'ensemble de réplicas permet d'améliorer la redondance et la
tolérance aux pannes, mais cela ne modifie pas directement le processus d'élection. Le nouvel ajout
contribue à la distribution de la charge et à la répartition des données, améliorant ainsi les
performances et la résilience de l'ensemble de réplicas.