II.2.7.3. Programmation
cliente
MongoDB Inc. développe des bibliothèques pour de
nombreux langages, appelés pilotes (driver). Celui pour Python
se nomme PyMongo, il s'agit d'un pilote officiel.
Nous avons ici effectué notre écriture avec
l'instruction db.articles.insert (article. safe=True) , ce qui signifie: dans
la base de données db ouverte, dans la collection articles,
insérer le dictionnaire article. L'objet sera automatiquement
transformé en document JSON par PyMongo. Si la collection articles
n'existe pas, elle sera créée.
II.2.7.4.Administration
L'interface web d'administration est disponible à
l'adresse http://localhost:27017. Vous pouvez appeler cette page
depuis une machine cliente à condition que la configuration de MongoDB
le permette. Dans le fichier /etc/mongodb.conf, vous pouvez indiquer
sur quelle interface le serveur Ya écouter avec l'option b1nd_1p.
Pour autoriser un accès à partir de toutes les interfaces,
enlevez ou commentez cette ligne de configuration. Vous devez bien entendu
redémarrer le démon pour que le changement soit pris en
compte.
Les opérations d'administration peuvent être
exécutées grâce à l'invite interactive ou par
l'intermédiaire d'un pilote. À l'intérieur d'une base de
données, un espace de noms spécial, $cmd, permet de passer des
commandes à travers sa méthode find0ne(), qui retourne son
résultat sous forme de document. Beaucoup de ces commandes ont des
fonctions clairement nommées qui les encapsulent. Par exemple, l'invite
interactive dispose d'une fonction générique
db.RunCommand() et de fonctions spécifiques.
II.2.7.5.
Sécurité
Qu'en est-il de la sécurité dans MongoDB, dans
le sens où on l'entend pour tout type de serveur : authentification et
protection des données ? Pour l'authentification, la configuration
recommandée par MongoDB Inc. est de n'en avoir aucune et
d'exécuter le ou les noeuds MongoDB dans un environnement sûr.
C'est par la configuration réseau que vous vous assurez que les ports
TCP permettant d'accéder à MongoDB ne sont accessibles que depuis
des machines de confiance. Ces clients peuvent accéder et manipuler les
données comme bon leur semble.
II.2.7.6.Réplication
Un démon (processus) MongoDB est appelé un
noeud. Dans les situations de production, il y a en général un
noeud par serveur. Il peut être utile de monter une machine multi noeud
pour le développement et les tests. Ces noeuds peuventêtre
liés dans un ensemble de réplication. C'est-à-dire une
topologie de réplication de type maître-esclave telle qu'on la
trouve dans les SGBDR, à des fins de duplication de données, et
pour assurer une continuité de service, car la réplication inclut
également un basculement automatique du maître.
À un moment donné, un noeud est choisi comme
maître par MongoDB et reçoit donc toutes les écritures,
qu'il distribue aux esclaves. En cas de défaillance du noeud
maître, MongoDB bascule automatiquement et promeut un autre noeud
maître. Les applications clientes sont averties de ce fait et redirigent
toujours les écritures vers le bon maître dans un jeu de
réplicas. Conceptuellement, cette réplication est
effectuée en mode asynchrone ou synchrone selon la demande du client.
Une opération de modification de données peut indiquer le
nombrede réplication sur lesquels l'écriture doit avoir
été effectuée avec succès avant de rendre la main,
comme nous l'avons vu dans les exemples de code précédents.
|