II.2.6. Traitement des
données
Du point de vue transactionnel, MongoDB supporte
l'atomicité seulement lors de la mise à jour d'un document. En
d'autres termes, il y a bien un verrouillage à l'écriture sur un
document, mais il ne s'étend pas par défaut sur une mise
àjour de plusieurs documents. En ce quiconcerne la durabilité des
transactions, elleest assurée par une journalisation de forme WAl.
write-ahead log. Les instructions de
création-modification-suppression de données sont en premier
lieuécrites dans unjournal. Si le moteurest arrêté
proprement, les écritures sont inscrites sur le disque et le journal est
supprimé.
Donc si MongoDB démarre et constate l'existence
d'un journal, c'est que le moteur n'a pas été
arrêté correctement. Il exécute alors une phase de
récupération qui rejoue le journal. La journalisation est
activée par défaut dans les versions récentes et 64 bits
de MongoDB, elle peut être désactivée au démarra.ge
par l'option de la ligne de commande --nojournal. Vous perdezen
sécurité et gagnez un peuen performances lors des
écritures.
II.2.7. Mise en oeuvre
II.2.7.1. Installation
Les exécutables MongoDB sont disponibles à
l'adresse suivante :http://www.mongodb.org/downloads. L'installation sur
Windows ou Mac OS X est très simple. Étant donné que nous
disposons d'une distribution Ubuntu Server pour nos exemples, nous pouvons
utiliser le paquet mongodb de la distribution officielle (MongoDB est
disponible sur la plupart des dépôts officiels des distributions
Linux).
Le dépôt porte toujours le nom de 10gen, mais
depuis quelques versions, le paquet s'appelle mongodb-org. Auparavant,
son nom était mongodb-10gen. Le dépôt
ubuntu-upstart installe une version du démon mongodb
qui se lance grâce au système upstart d'Ubuntu, un système
de lancement de services remplaçant le traditionnel démon
init issu de System-V.
II.2.7.2. Invite
interactive
L'accès à une invite de commandes interactive
pour manipuler les données de MongoDB est possible grâce au shell
mongo (Windows et Ubuntu). Il s'agit d'une invite JavaScript (qui utilise
l'interpréteur V8 depuis la version 2.4 de MongoDB, SpiderMonkey
auparavant) grâce à laquelle vous pouvez interagir avec MongoDB.
Pour l'ouvrir, tapez simplement mongo dans votre terminal, l'exécutable
devrait se trouver dans le chemin. Si vous voulez accéder au serveur
local qui écoute sur le port par défaut 27017, cela suffira.
Sinon, vous pouvez indiquer l'adresse sous la forme suivante
:<serveur>:<port>/<base de données>.
Nous avons vu quelques commandes simples de l'invite. Vous
trouverez une description complète du shell sur le site de MongoDB Inc.
à l'adresse :
http:lldocs.mongodb.org/manualladministration/scripting/. La plupart
du temps, l'administration complète s'effectue , à partir
d'un code client pour plus d'optimisation des requêtes. Quittons ce
shell en tapant exit, ou à l'aide de la combinaison de touches
Ctrl + D, et voyons comment accéder à MongoDB depuis notre code
Python.
|