Les organisations sont confrontées chaque jour à de nouveaux défis afin de fournir en permanence de nouvelles fonctionnalités métier en mettant en œuvre de nouveaux processus informatiques comme Agile et DevOps et en adoptant de nouvelles architectures telles que le cloud et les microservices. Pour nous aligner sur tout cela, nous avons besoin d'un nouveau concept de base de données capable de gérer des augmentations massives de types de données en évolution rapide et capable de travailler avec des données où qu'elles soient stockées côté client et côté couche de données.
Ainsi les bases de données NoSQL « Not only SQL » sont conçues pour répondre à ces enjeux. MongoDB est la principale base de données NoSQL et une base de données de documents open source.
Dans cet article, nous expliquerons les concepts de MongoDB, donnerons une idée de ses avantages et de sa terminologie et où nous pouvons l'implémenter.
Avantages de MongoDB :
La plate-forme de données de MongoDB est basée sur deux concepts principaux :
- Base de données de documents :MongoDB utilise le document comme modèle de données similaire aux objets JSON. Il s'agit d'une structure de données composée de paires de champs et de valeurs. Les valeurs peuvent inclure des sous-documents, des tableaux et des tableaux de documents ; qui réduisent le besoin de jointures coûteuses. À l'aide de ce modèle de données, il sera plus rapide et plus facile de modéliser la manière dont les objets d'application seront mappés aux données, car il correspond aux types de données natifs . Au-delà de la facilité d'utilisation, les documents sont flexibles puisque nous pouvons modifier notre schéma à tout moment, il est polymorphe car les documents peuvent avoir des structures différentes par rapport aux autres documents de la même collection et il est extensible :nous modélisons les données dans n'importe quelle application l'exige.
- Données distribuées : MongoDB offre la possibilité de faire évoluer le système et de distribuer les données pour un accès utilisateur à faible latence. La mise en œuvre des techniques de "sharding" et d'"ensembles de réplicas" facilite la distribution des données et développe notre déploiement sur du matériel peu coûteux.
Terminologie de base :
MongoDB stocke les documents BSON dans des collections ; les collections en base de données. Un seul serveur MongoDB possède généralement plusieurs bases de données. Chaque base de données obtient son propre ensemble de fichiers sur le système de fichiers en tant que format de collections. Chaque collection est un ensemble de documents. L'un des principaux avantages de la collection est l'absence d'application de schémas et, en même temps, nous avons un schéma dynamique. Le schéma dynamique signifie que les documents d'une même collection n'ont pas besoin d'avoir le même ensemble de champs ou la même structure, et les champs communs dans les documents d'une collection peuvent contenir différents types de données.
La figure suivante montre la terminologie de correspondance de la base de données relationnelle avec MongoDB :
Langage de requête :
Les SGBDR (Oracle et MySQL) et MongoDB ont un langage de requête riche.
La figure suivante montre la correspondance du langage de requête entre RDBMS et MongoDb :
Mise en œuvre :
Pour profiter de MongoDB, nous pouvons choisir d'implémenter MongoDB dans ces champs :
- Catalogue de produits de commerce électronique
- Blogs, gestion de contenu et diffusion
- Infrastructures mobiles et sociales
- Mégadonnées
- Gestion des données utilisateur
- Centre de données