Définition - Que signifie MongoDB?
MongoDB est une base de données orientée document multiplateforme et open source, une sorte de base de données NoSQL. En tant que base de données NoSQL, MongoDB évite la structure basée sur les tables de la base de données relationnelle pour adapter les documents de type JSON qui ont des schémas dynamiques qu'il appelle BSON.
Cela rend l'intégration des données pour certains types d'applications plus rapide et plus facile. MongoDB est conçu pour l'évolutivité, la haute disponibilité et les performances, d'un déploiement de serveur unique à des infrastructures multi-sites complexes et de grande taille.
Definir Tech explique MongoDB
MongoDB a été développé pour la première fois par MongoDB Inc., connu alors sous le nom de 10gen, en octobre 2007, à l'origine en tant que composant majeur d'un produit PaaS (Platform as a Service) similaire à Windows Azure et Google App Engine. Le développement a été déplacé vers l'open source en 2009.
MongoDB est devenue l'une des bases de données NoSQL les plus populaires, étant utilisée comme backend pour de nombreux sites Web majeurs, notamment eBay, Craigslist, SourceForge et le New York Times. MongoDB est disponible sous la licence publique générale GNU Affero tandis que ses pilotes de langue sont disponibles sous la licence Apache. Des licences commerciales sont également proposées.
Caractéristiques de MongoDB:
- Requêtes ad hoc - prend en charge la recherche par champ, les recherches d'expressions régulières et les requêtes de plage.
- Indexation - n'importe quel champ du document BSON peut être indexé.
- Réplication - offre une haute disponibilité via des jeux de réplicas qui se composent de deux copies ou plus des données d'origine.
- Équilibrage de charge - le sharding est la méthode utilisée pour permettre à MongoDB de se mettre à l'échelle horizontalement, ce qui signifie que les données seront distribuées et divisées en plages, puis stockées dans différentes partitions qui peuvent être situées sur différents serveurs. Les clés de fragment sont utilisées pour déterminer comment les données seront distribuées.
- Agrégation - MapReduce peut être appliqué pour permettre le traitement par lots des données ainsi que pour effectuer des opérations d'agrégation.
- Stockage de fichiers - MongoDB peut être utilisé comme système de fichiers qui utilise les fonctions ci-dessus et agit de manière distribuée via le partitionnement.