L'un des concepts clés de MongoDB est la gestion des bases de données. Des aspects importants tels que la sécurité, la sauvegarde, l'accès aux bases de données sont tous des concepts importants en matière d'administration de bases de données.
Dans ce tutoriel, vous apprendrez -
- Présentation de la sécurité de la base de données
- Procédures de sauvegarde - mongodump
- Surveillance Mongodb
- Considérations relatives à l'indexation et aux performances
Présentation de la sécurité MongoDB
MongoDB a la capacité de définir des mécanismes de sécurité pour les bases de données. Par défaut, on ne voudrait pas que tout le monde ait un accès ouvert à toutes les bases de données de MongoDB, d'où la nécessité d'avoir une sorte de mécanisme de sécurité dans MongoDB est importante.
Voici les meilleures pratiques lors de la mise en œuvre de la sécurité dans les bases de données
-
Activer le contrôle d'accès - Créez des utilisateurs afin que toutes les applications et utilisateurs soient forcés d'avoir une sorte de mécanisme d'authentification lors de l'accès aux bases de données sur MongoDB.
-
Configurer le contrôle d'accès basé sur les rôles - Parfois, il peut y avoir un regroupement logique d'autorisations qui peuvent être requises, qui peuvent être regroupées en rôles. Les utilisateurs peuvent ensuite être affectés à ces rôles.
-
Essayez de configurer MongoDB pour utiliser une sorte de protocole de cryptage tel que TLS ou SSL. Ces protocoles peuvent être utilisés pour crypter le trafic qui circule entre le client et l'environnement mongo DB.
-
Configurer l'audit - Les administrateurs ont normalement besoin de savoir qui fait quoi, ce qui aide à analyser les problèmes plus tard. Le meilleur moyen est d'activer l'audit dans MongoDB.
-
Exécutez l'instance de serveur MongDB avec un ID utilisateur distinct qui a accès aux ressources requises sur l'environnement du serveur.
Procédures de sauvegarde Mongodb - Mongodump
Lorsque vous travaillez avec MongoDB, il est important de toujours vous assurer qu'une procédure de sauvegarde est en place au cas où les données de MongoDB seraient corrompues pour une raison quelconque.
Vous trouverez ci-dessous les mécanismes de sauvegarde disponibles à partir de MongoDB
- Sauvegarde en copiant les fichiers de données sous-jacents - C'est probablement le mécanisme le plus simple, il suffit de copier les fichiers de données sur lesquels réside MongoDB et de les copier dans un autre emplacement qui devrait idéalement être un autre serveur.
- Sauvegarder une base de données avec mongodump - L'outil mongodump lit les données d'une base de données MongoDB et crée des fichiers BSON haute fidélité. Ce qui doit être pris en compte, c'est que si l'ensemble de données est volumineux, alors mongodump peut être très gourmand en ressources.Par conséquent, pour atténuer ce problème, l'utilitaire doit être exécuté sur un serveur secondaire.
- Sauvegarde MongoDB Cloud Manager - MongoDB Cloud Manager sauvegarde en permanence les ensembles de répliques MongoDB et les clusters partitionnés en lisant les données oplog de l'environnement MongoDB. MongoDB Cloud Manager peut créer une récupération à un moment donné en stockant des données oplog afin de pouvoir créer une restauration à tout moment pour un jeu de réplicas particulier ou un cluster partitionné.
Surveillance Mongodb
La surveillance est l'une des activités administratives les plus critiques de MongoDB. En effet, vous pouvez être plus proactif en surveillant l'environnement pour détecter d'éventuels problèmes qui pourraient survenir.
Voici quelques exemples de mise en œuvre de la surveillance
- mongostat vous indiquera combien d'opérations de base de données telles que l'insertion, la requête, la mise à jour, la suppression, etc. se produisent réellement sur le serveur. Cela donnera une bonne idée de la charge que le serveur gère et indiquera si vous avez besoin de ressources supplémentaires sur le serveur ou peut-être de serveurs supplémentaires pour répartir la charge.
- mongotop suit et rapporte l'activité de lecture et d'écriture actuelle d'une instance MongoDB, et rapporte ces statistiques par collection.
- MongoDB fournit une interface Web qui expose les informations de diagnostic et de surveillance dans une simple page Web. On peut accéder à l'url ci-dessous sur votre serveur local pour ouvrir l'utilitaire d'administration Web http: // localhost: 28017
- La commande serverStatus, ou db.serverStatus () du shell, retourne un aperçu de l'état de la base de données, avec des détails sur l'utilisation du disque, l'utilisation de la mémoire, les connexions établies à l'environnement MongoDB, etc.
Considérations sur l'indexation et les performances de MongoDB
- Les index sont très importants dans n'importe quelle base de données et peuvent être utilisés pour améliorer l'efficacité des requêtes de recherche dans MongoDB. Si vous effectuez continuellement des recherches dans votre document, il est préférable d'ajouter des index sur les champs du document qui sont utilisés dans les critères de recherche.
- Essayez de toujours limiter le nombre de résultats de requête renvoyés. Supposons que vous ayez 2 noms de champ dans un document, mais que vous vouliez simplement voir 2 champs du document. Assurez-vous ensuite que votre requête ne cible que les 2 champs dont vous avez besoin et non tous les champs.
- Si vous souhaitez afficher certaines valeurs de champ, utilisez uniquement ces champs dans la requête. N'interrogez pas tous les champs de la collection s'ils ne sont pas obligatoires.
Résumé:
- Il est très important de mettre en œuvre la sécurité dans les bases de données pour garantir que les données de la base de données sont conservées en toute sécurité.
- Les utilisateurs peuvent être créés dans la base de données avec la commande createUser. Des rôles spécifiques peuvent être attribués aux utilisateurs pour leur donner des autorisations spécifiques sur la base de données elle-même.
- Des administrateurs peuvent être ajoutés pour que toutes les bases de données ne concernent que des bases de données spécifiques. Pour ce faire, attribuez le rôle userAdmin ou userAdminAnyDatabase.
- Sauvegardez toujours votre environnement MongoDB afin qu'en cas de sinistre, les données soient facilement récupérables.
- Surveillez toujours votre environnement MongoDB pour être plus proactif et voyez les problèmes avant qu'ils ne surviennent.