Qu'est-ce que MongoDB ?
MongoDB est une base de données orientée document qui stocke les données dans des documents similaires à JSON.
La philosophie de conception de MongoDB est de répondre aux exigences de grands volumes de données, de hautes performances et de flexibilité.
MongoDB utilise des collections pour organiser les documents, et chaque document est composé de paires clé-valeur.
- Base de données: Un conteneur pour stocker des données, semblable à une base de données dans une base de données relationnelle.
- Collection: Une collection au sein d'une base de données, semblable à une table dans une base de données relationnelle.
- Document: Un enregistrement de données dans une collection, semblable à une ligne dans une base de données relationnelle, stocké au format BSON.
MongoDB stocke les données sous forme de document, et la structure de données est composée de paires clé-valeur. Les documents sont similaires aux objets JSON ; les valeurs de champ peuvent contenir d'autres documents, des tableaux et des tableaux de documents :
Caractéristiques clés
-
Stockage orienté document: MongoDB est une base de données orientée document qui stocke les données dans un format de type JSON, rendant la structure des données plus flexible et plus riche.
-
Optimisation des index pour les requêtes: MongoDB permet aux utilisateurs de créer des index sur n'importe quel attribut d'un document, par exemple
FirstNameetAddress, ce qui améliore l'efficacité des requêtes et les performances de tri. -
Mise en miroir des données et évolutivité: En créant des réplicas de données localement ou sur le réseau, MongoDB assure une puissante redondance des données et une grande évolutivité.
-
Mise à l'échelle horizontale et sharding: Face à une charge accrue, MongoDB peut distribuer les données vers d'autres nœuds du réseau informatique grâce à la technologie de sharding pour réaliser une mise à l'échelle horizontale.
-
Langage de requête puissant: MongoDB utilise une syntaxe de requête au format JSON et prend en charge des expressions de requête complexes, y compris les requêtes sur des objets et tableaux imbriqués.
-
Mises à jour des données: En utilisant
update()commande, MongoDB peut remplacer un document entier ou mettre à jour des champs de données spécifiés, offrant une manière flexible de mettre à jour les données. -
Traitement par lots MapReduce: La fonctionnalité MapReduce de MongoDB est conçue pour le traitement de données à grande échelle et les opérations d'agrégation. Grâce à l'
emit(key, value)invocation de la fonction Map et au traitement logique de la fonction Reduce, elle réalise une agrégation de données efficace. -
Script MapReduce: Les fonctions Map et Reduce sont écrites en JavaScript et peuvent être exécutées dans MongoDB à l'aide de la
db.runCommandoumapreducecommande. -
Stockage de fichiers volumineux GridFS: GridFS est une fonctionnalité intégrée de MongoDB pour stocker et récupérer des fichiers plus volumineux que la limite de taille des documents BSON, tels que des images et des vidéos.
-
Exécution de scripts côté serveur: MongoDB permet d'exécuter des scripts JavaScript côté serveur, offrant la possibilité d'exécuter directement sur le serveur ou de stocker des définitions de fonctions pour une invocation ultérieure.
-
Prise en charge de plusieurs langages: MongoDB prend en charge plusieurs langages de programmation, y compris, mais sans s'y limiter, RUBY, PYTHON, JAVA, C++, PHP et C#.
-
Installation facile: Le processus d'installation de MongoDB est simple et intuitif, ce qui permet aux utilisateurs de le déployer et de l'utiliser rapidement.
Historique
| Version | Date de sortie | Description des fonctionnalités |
|---|---|---|
| 1.0 | Août 2009 | Plus d'index par collection Création d'index plus rapide |
| 1.2 | Décembre 2009 | Map/Reduce Fonctions JavaScript stockées Temps de fsync configurable Plusieurs fonctionnalités mineures et corrections |
| 1.4 | Mars 2010 | Sharding prêt pour la production |
| 1.6 | Août 2010 | Jeux de réplicas Prise en charge d’IPv6 |
| 1.8 | Mars 2011 | |
| 2.0 | Septembre 2011 | |
| 2.2 | Août 2012 | Prise en charge géospatiale améliorée Passage au moteur JavaScript V8 |
| 2.4 | Mars 2013 | Améliorations de la sécurité Recherche textuelle (bêta) Index de hachage Améliorations de l'agrégation Intégration de la recherche textuelle |
| 2.6 | 8 avril 2014 | Améliorations du moteur de requêtes Nouveau protocole d'opération d'écriture Améliorations de la sécurité Prise en charge du moteur de stockage WiredTiger API de moteur de stockage enfichable |
| 3.0 | 3 mars 2015 | Authentification SCRAM-SHA-1 Fonctionnalité explain améliorée MongoDB Ops Manager Améliorations de l'élection des jeux de réplicas Moteur de stockage WiredTiger par défaut |
| 3.2 | 8 décembre 2015 | Serveurs de configuration en tant que jeux de réplicas Niveau de lecture Passage de V8 à SpiderMonkey Niveau de lecture linéarisable |
| 3.4 | 29 novembre 2016 | Vues Collation |
| 3.6 | novembre 2017 | |
| 4.0 | juin 2018 | Transactions |
| 4.2 | août 2019 | |
| 4.4 | juillet 2020 | |
| 4.4.5 | avril 2021 | |
| 4.4.6 | mai 2021 | API versionnée orientée vers l'avenir |
| 5.0 | 13 juillet 2021 | Chiffrement au niveau des champs côté client Resharding en direct Prise en charge des séries temporelles |
| 6.0 | juillet 2022 | |
| 7.0 | 15 août 2023 |
Téléchargement de MongoDB
Vous pouvez télécharger le package d'installation depuis le site officiel de MongoDB à l'adresse :https://www.mongodb.com/try/download/community。
MongoDB prend en charge les plateformes suivantes :
Linux: MongoDB prend en charge diverses distributions Linux, y compris, mais sans s'y limiter, Ubuntu, Debian, CentOS, Red Hat Enterprise Linux (RHEL), Fedora, etc.
Windows: MongoDB fournit une version officielle pour le système d'exploitation Windows, qui peut s'exécuter sur Windows Server et les systèmes d'exploitation de bureau Windows.
macOS: MongoDB peut s'exécuter sur macOS et fournit un programme d'installation officiel pour macOS.
Docker: MongoDB peut également s'exécuter en tant que conteneur Docker, ce qui facilite le déploiement et la gestion de MongoDB sur diverses plateformes.

Prise en charge des langages
MongoDB dispose des pilotes officiels suivants :
Outils MongoDB
Plusieurs outils de gestion sont disponibles pour MongoDB.
Surveillance
MongoDB fournit l'outil de surveillance réseau et système Munin, qui est appliqué en tant que plugin dans MongoDB.
Gangila est un outil de surveillance système haute performance pour MongoDB, qui est appliqué en tant que plugin dans MongoDB.
Cacti est un outil open source à interface graphique permettant de visualiser la charge CPU et l'utilisation de la bande passante réseau ; il fournit également un plugin pour surveiller MongoDB.
Interface graphique
- Fang of Mongo – basé sur le Web, construit avec Django et jQuery.
- Futon4Mongo – un clone MongoDB du Futon web de CouchDB.
- Mongo3 – écrit en Ruby.
- MongoHub – une application pour OSX.
- Opricot – une console MongoDB basée sur navigateur, écrite en PHP.
- Database Master — un outil de gestion MongoDB pour Windows
- RockMongo — le meilleur outil de gestion MongoDB en PHP, léger, et prend en charge plusieurs langues.
Cas d'utilisation de MongoDB
La liste suivante présente quelques applications réelles de MongoDB par des entreprises :
- Craigslist utilise MongoDB pour archiver des milliards d'enregistrements.
- FourSquare, un site de réseautage social géolocalisé, utilise MongoDB sur des serveurs Amazon EC2 pour partager des données.
- Shutterfly, un service de publication sociale et personnelle basé sur Internet, utilise MongoDB pour divers besoins de stockage de données persistantes.
- bit.ly, un service de raccourcissement d'URL basé sur le Web, utilise MongoDB pour stocker ses propres données.
- spike.com, une société affiliée de MTV Networks, utilise MongoDB.
- Intuit, un fournisseur de logiciels et de services pour les petites entreprises et les particuliers, utilise MongoDB pour suivre les données utilisateur pour les petites entreprises.
- sourceforge.net, un site de ressources pour trouver, créer et publier gratuitement des logiciels open source, utilise MongoDB pour le stockage backend.
- etsy.com, un site web d'achat et de vente d'articles faits main, utilise MongoDB.
- The New York Times, l'un des principaux portails d'information en ligne, utilise MongoDB.
- Le CERN, le célèbre institut de recherche en physique des particules, utilise MongoDB pour les données du Grand collisionneur de hadrons.