Les remarques suivantes sont merdiques. Désolé pour le dérangement.
Présentation de MongoDB/Introduction
RAS.
Présentation de MongoDB/Fonctionnalités principales
sous forme de documents, au format JSON
JSON ?
certaines de ces propriétés étant elle-mêmes
elles-mêmes
On peut stocker directement des documents complexes dans Mongo.
Je le placerais après le premier exemple, juste avant le second.
"b" : "Texte"
Broutille : le second exemple est en anglais.
Dans MongoDB, un document est le pendant d'un objet.
Et une collection, késako ?
c'est-à-dire que les objets stockés n'ont pas une structure fixée et définie à l'avance
"c'est-à-dire que les objets stockés n'ont pas de structure fixe et définie à l'avance" ?
on peut en entretenir plusieurs copies
Question me passant par la tête : peut-on versionner ?
en créant facilement un ensemble de fragments
Je détaillerais un chouïa le terme "fragments" : on constitue une partition des données (au sens mathématique du terme), c'est ça ? En formulant peu ou prou comme ça : "un ensemble de fragments (en anglais, "shards"), c'est-à-dire un ensemble de…".
Présentation de MongoDB/Fonctionnalités absentes ou restreintes
pas de schéma fixe, objets complexes
Il me semble qu'il manque un truc avec "objets complexes". Par exemple : "objets complexes facilement représentables".
Par exemples, les informations sur un livre
"exemple" ?
Si plusieurs collections sont nécessaire pour récupérer
nécessaires
Je l'ai signalé plus haut, mais tu n'as pas défini ce qu'était une collection.
il faudra faire autant de requête qu'il y a de collections
requêtes
Dans une base de données relationnelles, il est possible de regrouper
relationnelle
Ce qui signifie que toutes ces opérations seront exécutées en une fois, ou pas du tout
Plutôt : "Ce qui signifie que toutes ces opérations seront toutes exécutées en une fois, ou pas du tout".
Les étapes intermédiaires entre chaque opération d'une transaction ne seront jamais visible
visibles
une transaction constituée de 3 opérations est exécutée
trois
effectuée ?
Les pièces d'or (po) de Mjolnir sont diminué de 30 po
Plutôt "La bourse de Mjolnir est allégée de 30 pièces d'or (po)".
Ou alors : diminuées
Les étapes intermédiaire n'existent pas
intermédiaires
Si votre petite soeur éteint la console en plaine transaction
J'ai rien vu.
et ne lui ai donné son marteau
ait
Gérer les éléments qui nécessite une transaction avec un SGBD relationnel
nécessitent
Une transaction doit être une opération atomique, donc indivisible.
MongoDB n'a pas de transaction à proprement parler, par contre la modification d'un document est une opération atomique.
Pour chercher la petite bête (c'est pas marrant, pour l'instant tout est bien :P), je dirais que les deux phrases ne se suivent pas correctement.
Dans la première, tu dis qu'une transaction doit être exécutée entièrement ou pas du tout et qu'une transaction doit être atomique.
Dans la seconde phrase, tu dis qu'il n'y a pas de transactions avec Mongo, mais que la modification d'un document est une opération atomique. Et tu en déduis que modifier un document est une sorte de transaction : tout ou rien.
Pour corriger (ou pas, c'est pas très important), je dirais dans la première phrase que ce sont les opérations atomiques qui sont "tout ou rien", opérations atomiques dont une transaction est un cas particulier. Or, dans Mongo, il n'y a pas de transaction, mais bien des opérations atomiques, qui seront alors effectuées entièrement ou pas du tout.
Pour résumer ce que, je pense, tu dis :
- SQL : transaction = "tout ou rien" et transaction = "atomique"
- Mongo : modif doc = "atomique" donc modif doc = "tout ou rien"
Et ce que, je pense, tu devrais dire :
- SQL : atomique = "tout ou rien" et transaction = "atomique"
- Mongo : modif doc = "atomique" donc modif doc = "tout ou rien"
Quel que soit le nombre d'attributs modifié, lorsque l'on enregistre
"modifié" convient, mais je mettrais tout de même un "s".
que tous les changements seront effectués, ou aucun
Plutôt : "que tous les changements seront effectués, ou qu'aucun ne le sera".
d'un état valide à un autre état valide, sans étape intermédiaire
Je préciserais : "d'un état valide à un autre état valide, sans étape intermédiaire dans laquelle les données seraient invalides".
Cependant, dans certaines configuration, MongoDB peut être cohérente
configurations
MongoDB peut être cohérente au final
"seulement à la fin" plutôt que "au final" ?
où des données qui n'existent plus sont visible
visibles
qu'on autorise les requêtes de lecture à lire les serveurs secondaires
C'est un peu bizarre de dire qu'une requête lit. Plutôt "à se faire sur les serveurs secondaires" ?
plutôt que de les diriger tous vers le serveur primaire
toutes
Au passage, tu n'as pas introduit les notions de "secondaire" et "primaire" dans le premier extrait.
tous les documents d'une collection pour leur ajouter un champs
champ
il est possible que cette modification soit perdue
Pourrais-tu expliciter ce que tu entends par "perdue" ? Littéralement perdue, ou écrasée par l'ajout du champ ?
Les opérations qui n'affectent qu'un seul document sont de facto isolée dans MongoDB
de facto
isolées
Chaque modification des données est d'abord enregistrées en mémoire
enregistrée
Toutes les 100 millisecondes, elles sont ajoutées au journal
C'est le même principe que ext4 ?
J'imagine qu'il est plus rapide d'écrire dans le journal que dans la base (techniquement parlant, mais aussi parce que, à cause de l'isolation, l'écriture dans la base peut ne pas commencer immédiatement. Du coup, comment est gérée l'isolation par le journal ?) ? Que se passe-t-il si écrire dans le journal prend plus de 100ms ? Par exemple (temps en ms) :
- t = 0 : demande d'opération
- t = 0 : écriture dans journal
- t = 120 : crash
- t = 140 : fin de l'écriture dans le journal. Ca n'a pas lieu, à cause de crash, mais c'est pour rendre compte de la durée d'écriture dans le journal.
Ici, la dernière opération a été demandée 120ms avant le crash, mais ne pourra être reprise au redémarrage.
Ce n'est peut-être pas le sujet, mais un exemple serait le bienvenu.
Présentation de MongoDB/Modèle client - serveur
de communiquer avec le serveur, d'envoyer des requête à celui-ci
requêtes
Lorsque l'on installe "MongoDB"
Tu as mis des guillemets pour dire qu'on n'installe pas vraiment MongoDB, mais un ensemble d'outils. Mais, du coup, que désigne le terme "MongoDB" ?
mongod : le serveur
mongod ? Même remarque pour les autres.
Je me suis toujours demandé : pourquoi ce "d" ?
et d'autres logiciel clients utilitaires
logiciels
permettant par exemple de faire des backup
backups ? Ou alors : sauvegardes.
Si vous êtes dans ce cas, référez vous à la documentation
référez-vous
Présentation de MongoDB/Installation et démarrage
Pour des instructions détaillées sur l'installation de mongoDB
MongoDB
Si vous ne pouvez pas (ou voulez pas) utiliser Homebrew
Plutôt : "(ou ne voulez pas)"
Même remarque pour Windows
Si vous avez utilisé un gestionnaire de paquets, vérifiez où mongoDB a été installé
MongoDB
et ouvrer le fichier mongod.conf
ouvrez
Nous allons maintenant démarrer le serveur
Je parlerais de l'option --dbpath
, qui me semble intéressante.
Présentation de MongoDB/Présentation du shell Mongo
Pour les instructions, je mettrais dans la balise code un aperçu du shell :
Tu n'as pas dit comment quitter le shell.
Ni comment éteindre le serveur.
D'ailleurs, pour insister sur la dépendance du client au serveur, tu pourrais commencer par faire le lecteur démarrer le client, recevoir une erreur de connexion et lui expliquer qu'il faut un serveur de démarré pour que ça fonctionne.
Je n'ai pas relevé les guillemets anglais, j'ignore ce que tu souhaites en faire.
Je n'ai pas relevé non plus les "blabla, …". J'ignore si tu souhaites les remplacer par "blabla…".