MongoDB est une base de données de documents à usage général conçue pour le développement d’applications modernes et pour le cloud. Son architecture évolutive vous permet de répondre aux demandes croissantes de votre système en ajoutant des nœuds supplémentaires pour répartir la charge.
Voici quelques-uns des concepts et termes clés que vous rencontrerez lorsque vous apprendrez à utiliser MongoDB.
MongoDB stocke les données sous forme de documents JSON.
Le modèle de données documentaire s’intègre naturellement aux objets dans le code de l’application, ce qui en simplifie l’apprentissage et l’utilisation pour les développeurs.
Les champs dans un document JSON peuvent varier d’un document à l’autre. Comparez cela à une table de base de données relationnelle traditionnelle, où l’ajout d’un champ équivaut à ajouter une colonne à la table de base de données elle-même et donc à chaque enregistrement de la base de données.
Les documents peuvent être imbriqués pour exprimer des relations hiérarchiques et stocker des structures telles que des tableaux.
Le document model offre la flexibilité nécessaire pour travailler avec des données complexes, évolutives et désordonnées provenant de nombreuses sources. Les développeurs sont ainsi en mesure de livrer rapidement de nouvelles fonctionnalités d’application.
Pour un accès interne plus rapide et pour prendre en charge davantage de types de données, MongoDB convertit les documents dans un format appelé JSON binaire ou BSON. Mais du point de vue d’un développeur, MongoDB est une base de données JSON.
Dans MongoDB, une collection est un ensemble de documents.
Si les bases de données relationnelles vous sont familières, vous pouvez considérer une collection comme une table. Cependant, les collections dans MongoDB sont bien plus flexibles. Elles n’appliquent pas de schéma à moins que vous ne les configuriez à cet effet, et les documents d’une même collection peuvent présenter des champs différents.
Chaque collection est associée à une base de données MongoDB. Pour afficher quelles collections se trouvent dans une base de données particulière, utilisez la commande listCollections.
Pour assurer une haute disponibilité, il est important de conserver plusieurs copies de vos données. Avec MongoDB, la haute disponibilité est intégrée directement dans la conception.
Lorsque vous créez une base de données dans MongoDB, le système crée automatiquement au moins deux copies supplémentaires des données, appelées un replica set. Un replica set est un groupe d’au moins trois instances MongoDB qui répliquent continuellement les données entre elles, offrant une redondance et une protection contre les temps d’arrêt en cas de défaillance du système ou de maintenance planifiée.
Une plateforme de données moderne doit être capable de traiter des requêtes très rapides et des ensembles de données volumineux en utilisant des clusters de petites machines de plus en plus nombreux. Le sharding désigne la répartition intelligente des données sur plusieurs machines.
Comment fonctionne le sharding dans MongoDB ? MongoDB partitionne les données au niveau de la collection, en distribuant les documents d’une collection entre les différents shards d’un cluster. Le résultat est une architecture extensible qui prend en charge même les plus grandes applications.
Les index contribuent à l’exécution efficace des requêtes. MongoDB propose une variété de stratégies d’indexation, y compris des index composés sur plusieurs champs. Choisis avec soin, les index accélèrent les requêtes, car celles-ci parcourent l’index au lieu de lire chaque document de la collection.
Pour ce faire, vous devez déterminer quelles requêtes se prêtent à l’ajout d’un index. L’outil Performance Advisor effectue cette analyse automatiquement, et suggère des index susceptibles d’améliorer les performances des requêtes.
MongoDB offre un cadre flexible pour créer des pipelines de traitement de données appelés pipelines d’agrégation. Il comprend des dizaines d’étapes et plus de 150 opérateurs et expressions, vous permettant de traiter, de transformer et d’analyser des données de toute structure à grande échelle. Introduite récemment, la phase Union permet d’agréger de manière flexible les résultats de plusieurs collections.
Quels langages pouvez-vous utiliser avec MongoDB ? La liste des langages pris en charge comprend Node.js, C, C++, C#, Go, Java, Perl, PHP, Python, Ruby, Rust, Scala, Swift et de nombreux autres. La bibliothèque est régulièrement mise à jour pour chaque langage avec de nouvelles fonctionnalités, des corrections de bugs, des correctifs de sécurité et des améliorations de performances.
Vous pouvez surveiller la santé et les performances de votre cluster en vérifiant l’état de l’instance, les opérations du cluster et les métriques de connexion, les métriques hardware et bien d’autres paramètres simplement à l’aide de quelques utilitaires et commandes. La surveillance vous aide à détecter les problèmes en temps réel et à y réagir avant qu’ils ne s’aggravent.
MongoDB Community Edition.
Dans MongoDB Enterprise, des fonctionnalités avancées sont proposées par le biais d’une licence commerciale.
MongoDB Atlas est une version de base de données en tant que service (DBaaS) de MongoDB Enterprise, proposée sur tous les clouds publics.
MongoDB Atlas a été étendu de diverses manières avec des fonctionnalités préconfigurées étroitement intégrées, telles que Atlas Search, Atlas Vector Search et d’autres fonctionnalités avancées pour la géolocalisation des données et la création de sauvegardes.
Maintenant que certains termes que vous allez rencontrer en pratiquant MongoDB vous sont plus familiers, pourquoi ne pas commencer tout de suite à utiliser MongoDB Atlas ? Et pendant que vous y êtes, rejoignez la MongoDB community, où vous trouverez tout pour vous aider, des forums aux webinaires en passant par les cours gratuits de la MongoDB University. Un bon point de départ est le cours de présentation MongoDB Basics.
MongoDB est une base de données polyvalente qui offre une grande variété de cas d’utilisation. Si vous vous demandez encore si MongoDB est le bon choix pour votre application, consultez l’article Pourquoi utiliser MongoDB ?.
Apprenez-en davantage dans notre série sur les bases de MongoDB.