FAQ MongoDB

Qu'est-ce que MongoDB ?

MongoDB est une plateforme de données distribuée à usage général, basée sur des documents, conçue pour les développeurs d'applications de nouvelle génération et pour le cloud. Aucune plateforme de données n'est plus productive à utiliser.

Quelle est l'utilité de MongoDB ?

La plate-forme de données MongoDB repose sur trois principes de conception fondamentaux qui, ensemble, vous permettent de créer plus rapidement et avec une qualité supérieure :

  1. Le modèle de données orienté documents, qui vous garantit un traitement optimal des données.

  2. Une conception de systèmes distribués, qui vous permet de placer intelligemment les données là où vous le souhaitez.

  3. Une expérience unifiée qui vous offre une totale liberté de déploiement  : elle vous permet de pérenniser vos applications et d’éliminer l’enfermement propriétaire.

Pour en savoir plus, consultez le Guide de l'architecture MongoDB.

Dans quelles circonstances utiliser MongoDB ?

La plate-forme de données MongoDB peut s'utiliser sur une grande diversité d'applications OLTP et analytiques.

MongoDB Server et MongoDB Atlas Data Lake (actuellement en version bêta) permettent de répondre à un large éventail d'exigences en matière d'applications.

MongoDB Server et Atlas : analyses OLTP et en ligne

MongoDB Server est une base de données à usage général conçue pour répondre à la plupart des charges de travail OLTP et d'analyse en ligne :

  • Partout où vous envisagez l'utilisation d'une base de données relationnelle, envisagez le recours à MongoDB.

  • Partout où vous envisagez l'utilisation d'une base de données NoSQL, envisagez le recours à MongoDB.

Que vous envisagiez d'exécuter vos applications dans votre propre environnement, en tant que solution sans serveur native dans le cloud, ou que vous optiez pour un modèle de déploiement hybride intermédiaire, MongoDB Server offre une agilité totale au niveau de l'infrastructure. Vous pouvez exécuter MongoDB vous-même sur votre propre infrastructure, ou utiliser MongoDB Atlas, notre service de base de données globale dans le cloud, entièrement géré et automatisé, disponible dans plus de 60 régions sur AWS Azure, et GCP

MongoDB Atlas Data Lake (bêta) : analyses hors ligne

Au-delà de MongoDB Server, MongoDB Atlas Data Lake étend la puissance et la productivité de MongoDB aux charges de travail d'analyse hors ligne. Atlas Data Lake vous permet d'interroger rapidement et facilement des données dans n'importe quel format sur Amazon S3 (d'autres fournisseurs de cloud seront bientôt disponibles) à l'aide du langage et des outils de requête de MongoDB.

Avec Atlas Data Lake, vous pouvez tirer plus rapidement parti de votre lac de données : le déplacement des données devient inutile et vous pouvez immédiatement travailler sur des données complexes dans leur format natif. De plus, grâce à son architecture entièrement gérée et sans serveur, vous contrôlez les coûts et éliminez les charges opérationnelles.

La plate-forme de données MongoDB*

Avec MongoDB Server et Atlas Data Lake, vous disposez d'une plate-forme de données intégrée qui partage un langage de requête et des outils communs, entièrement gérée pour vous par le service Atlas natif dans le cloud, ce qui vous permet de répondre à un large éventail d'applications opérationnelles et analytiques :

  1. MongoDB Atlas : conçu pour les applications OLTP en ligne exigeant des temps de réponse de l'ordre de la milliseconde, il dispose de nœuds d'analyse dédiés permettant d'effectuer des analyses en temps réel à partir de données opérationnelles dynamiques.

  2. MongoDB Atlas : analyses en ligne avec des index secondaires optimisés pour prendre en charge des modèles de requête prévisibles nécessitant une latence de l'ordre de la sous-seconde à plusieurs secondes.

  3. MongoDB Atlas Data Lake : conçu pour l'analyse hors ligne de volumes importants de données résidant dans le stockage cloud, avec une latence de l'ordre de quelques secondes (au moins), mais plus généralement de quelques minutes et plus - en fonction de la quantité quantité de données que vous interrogez et de leur partitionnement.

Pour en savoir plus sur les cas d'utilisation de MongoDB et sur les charges de travail pour lesquelles vous devez évaluer des technologies alternatives, consultez le livre blanc Guide des cas d'utilisation de MongoDB.

En quoi MongoDB diffère-t-elle des bases de données relationnelles comme Oracle ?

Les bases de données relationnelles telles qu'Oracle, MySQL, SQL Server, Postgres et autres reposent sur des architectures initialement conçues il y a plus de 40 ans. Dans les années 1970, les exigences pour les applications étaient très différentes de celles des applications de nouvelle génération. Lorsqu'Oracle a sorti la première version de sa base de données commerciale en 1979, elle coûtait environ 3 000 USD par Mo de stockage. De tels coûts ont contraint les architectes logiciels à normaliser les données et à créer plusieurs tables de jointure pour stocker les données d'application afin d'éliminer toute redondance. De ce fait, les applications de bases de données relationnelles contiennent aujourd'hui des dizaines, des centaines et dans certains cas des milliers de tables qui doivent être associées pour obtenir des résultats de recherche. Cette complexité oblige non seulement le développeur à écrire des requêtes SQL complexes, mais la présence de nombreuses tables dans une requête fait augmenter les demandes d'E/S, ce qui se traduit par une augmentation des coûts d'infrastructure.

MongoDB a été conçue dans une optique de développement, avec l'objectif de se libérer de la base de données et d'augmenter la productivité. Avec MongoDB, il suffit de stocker les données telles qu'elles sont utilisées dans l'application et de les interroger au moyen d'un langage de requête moderne. Votre schéma est flexible, ce qui permet aux développeurs d'intégrer continuellement de nouvelles fonctionnalités.

Contrairement à Oracle et à d'autres bases de données relationnelles, MongoDB repose sur une architecture de systèmes distribués, ce qui vous permet de faire évoluer votre base de données sur plusieurs instances (une région, par exemple) ou de la diffuser globalement sur plusieurs régions.

Consultez la page de comparaison entre Oracle et MongoDB pour approfondir les différences.

Comment se documenter sur MongoDB ?

La méthode la plus simple pour apprendre à utiliser MongoDB est de suivre nos formations en ligne gratuites destinées aux développeurs et aux administrateurs de base de données sur MongoDB University. Les formations en ligne proposées sur MongoDB University sont développées et dispensées par des ingénieurs de MongoDB, Inc. MongoDB University a enregistré plus d'un million d'inscriptions dans 196 pays : les participants ont appris à développer et déployer des applications sur MongoDB.

Les cours gratuits de MongoDB University abordent tous les sujets à maîtriser pour devenir un expert MongoDB. Les cours de formation en ligne sont spécialement conçus pour vous aider à acquérir de nouvelles compétences dans les domaines qui comptent le plus pour les employeurs. Ils reposent sur des applications concrètes et sont dispensés par notre équipe dédiée d'ingénieurs internes qui travaillent sur le code chaque jour et qui ont été confrontés à des cas d'utilisation dans plus de 13 000 entreprises.

Vous pouvez suivre les formations MongoDB University à votre propre rythme, et consulter les vidéos et les supports de formation au moment qui vous convient le mieux. En même temps, nous structurons votre apprentissage avec des tâches hebdomadaires et des délais pour vérifier vos progrès, ainsi qu'un examen final pour tester vos connaissances. La plupart des cours durent trois semaines et chaque semaine ne nécessite généralement que 90 minutes de votre temps. Trouvez le cours qui vous convient. Consultez le catalogue des cours.

Comment devenir un professionnel certifié MongoDB ?

Passez l'examen de certification MongoDB pour prouver votre expertise et devenir un ABD ou un développeur professionnel certifié MongoDB. Les certifications MongoDB reconnaissent les développeurs et les administrateurs de bases de données qui disposent des connaissances nécessaires pour concevoir et gérer des applications MongoDB.

Pour vous préparer à l'examen de certification, passez notre examen pratique pour gagner en confiance en vous familiarisant avec les domaines et le format de l'examen de certification. En plus de l'examen pratique, nous vous proposons un Guide d'étude. Le guide d'étude couvre tous les sujets des examens de développeur et d'ABD. Chaque section du guide renvoie à la documentation pertinente et à d'autres ressources en ligne.

L'utilisation de MongoDB Server est gratuite. Quels sont les produits vendus par MongoDB, Inc. ?

Nous sommes la société à l'origine du développement et de la gestion de MongoDB. Nos produits commerciaux ont su convaincre plus de 14 200 entreprises. Ci-dessous, vous trouverez la liste de nos logiciels et services conçus pour vous simplifier la vie :

La base de données MongoDB

  • MongoDB Atlas est le service de base de données cloud global pour les applications de nouvelle génération. Effectuez des déploiements MongoDB entièrement gérés sur AWS, Azure ou Google Cloud avec une automatisation optimale et des pratiques éprouvées garantissant la disponibilité, l'évolutivité et la conformité aux normes de sécurité. Utilisez l'écosystème solide de pilotes, d'intégrations et d'outils de MongoDB pour accélérer le développement et consacrer moins de temps aux opérations et à l'administration de la base de données.

  • MongoDB Enterprise Advanced est le meilleur moyen d'exécuter MongoDB sur votre propre infrastructure. Il s'agit d'un package de pointe de logiciels avancés, d'assistance technique, de certifications et d'autres services conçus pour s'adapter à la manière dont vous menez votre activité.

  • MongoDB Cloud Manager est notre outil cloud conçu pour faciliter la gestion de MongoDB sur votre propre infrastructure. Son jeu d’outils complet (provisionnement automatique, suivi granulaire et sauvegardes continues) vous permet de garder un contrôle total sur vos bases de données tout en réduisant vos coûts opérationnels.

Analyses et visualisation MongoDB

  • MongoDB Atlas Data Lake vous permet d'interroger rapidement et facilement des données dans n'importe quel format sur Amazon S3 à l'aide des outils et du langage de requête de MongoDB. Le déplacement des données devient inutile et vous pouvez immédiatement travailler sur des données complexes dans leur format natif. De plus, grâce à son architecture entièrement gérée et sans serveur, vous contrôlez les coûts et éliminez les charges opérationnelles.

  • MongoDB Charts est le meilleur moyen de créer des visualisations de données MongoDB n'importe où. Créez des visualisations rapidement et facilement pour analyser les données complexes et imbriquées. Intégrez des graphiques individuels dans n'importe quelle application Web ou assemblez-les dans des tableaux de bord dynamiques pour les partager.

  • MongoDB Connector for BI vous permet d'utiliser MongoDB comme source de données pour vos plates-formes de BI et d'analyse SQL existantes telles que Tableau, Microstrategy, Looker, etc.

  • MongoDB Connector for Apache Spark

    expose l'ensemble des bibliothèques Spark, notamment Scala, Java, Python et R. À l'aide de diverses API (apprentissage machine, traitement des graphes, streaming, SQL), les données MongoDB sont matérialisées en DataFrame et Dataset pour être ensuite analysées.

Plate-forme de base de données mobile et d'applications sans serveur

  • La base de données MongoDB a été installée plus de 2 milliards de fois, offrant une alternative rapide et facile à utiliser à SQLite et Core Data. Grâce à la prise en charge des requêtes complexes, à la sécurité des threads, à une architecture réactive permettant de créer des interfaces utilisateur réactives et fluides, au chiffrement et à la prise en charge multi-plateforme, les développeurs peuvent simplifier leur code et créer des expériences puissantes et attrayantes sur un plus grand nombre d'appareils.

  • La plate-forme MongoDB Realm et Stitch vous aide à créer plus rapidement de meilleures applications sur une pile complète. Elle propose des règles facilement configurables pour accéder aux données et aux services directement à partir du serveur frontal de votre application, ainsi que des fonctions sans serveur pour exécuter la logique de l'application. Vous pouvez synchroniser automatiquement les données entre le client et la couche de données en arrière-plan. Grâce à des intégrations avec vos référentiels de code, vous pouvez développer localement, puis déployer de manière transparente des mises à jour d'applications contrôlées par version pour les tests et la production.

Services MongoDB

  • Les offres de conseils de MongoDB vous aident à parvenir plus rapidement à la phase de production, à affiner les performances en cours de production, à évoluer et à libérer du temps pour vous concentrer sur la prochaine version.

  • Les formations MongoDB vous aident à devenir un expert MongoDB, de la conception à l'exploitation de systèmes stratégiques et évolutifs. Que vous soyez développeur, DBA ou architecte, nous pouvons vous aider à vous perfectionner à l'utilisation de MongoDB.

Contactez-nous pour en savoir plus

Est-il possible d'obtenir une licence commerciale pour MongoDB ?

Oui, l'achat de MongoDB Enterprise Advanced vous permet d'obtenir une licence commerciale pour MongoDB.

Comment les données sont-elles stockées dans la base de données MongoDB ?

Dans MongoDB, les données sont stockées dans des documents BSON, c'est-à-dire des structures de données de type JSON. Les documents contiennent un ou plusieurs champs et chaque champ contient une valeur d'un type de données spécifique, notamment des tableaux, des données binaires et des sous-documents. Les documents qui tendent à partager une structure similaire sont organisés en collections.

À titre d'analogie, les documents sont l'équivalent des lignes d'une base de données relationnelle, les champs correspondant pour leur part aux colonnes et les collections aux tables.

Pour en savoir plus, consultez le Guide de l'architecture MongoDB.

En tant que développeur, comment utiliser les documents MongoDB ?

Pour accélérer la productivité du développement, MongoDB fournit des pilotes natifs pour tous les langages de programmation et infrastructures les plus courants. Java, Javascript, C#/.NET, Go, Python, Perl, PHP, Scala, etc., sont quelques exemples de pilotes pris en charge. Tous pilotes idiomatiques MongoDB pris en charge permettent aux développeurs de travailler le plus naturellement possible dans le langage de leur choix. Ils peuvent ainsi travailler avec des données, plutôt qu'avec des langages basés sur des chaînes comme SQL, et se dispenser de couches d'abstraction ORM, encombrantes et fragiles.

Vous pouvez également interagir avec MongoDB graphiquement par l'intermédiaire de MongoDB Compass, l'interface utilisateur graphique de MongoDB. Grâce à Compass, vous pouvez explorer et manipuler vos données, créer visuellement des requêtes et des pipelines d'agrégation à partir de l'interface graphique, puis les exporter sous forme de code vers votre application ; examiner l'exécution et les performances des requêtes ; afficher et créer des index ; créer des règles et des vues de validation de schéma ; etc.

La plate-forme MongoDB prend-elle en charge les transactions ACID ?

Oui. Les transactions ACID multi-documents sont disponibles depuis la version MongoDB 4.0 en 2018.

Où exécuter MongoDB ?

MongoDB peut être exécutée n'importe où, vous offrant ainsi une indépendance totale vis à vis de la plate-forme.

MongoDB Atlas fournit un service complet, payant à l'utilisation et entièrement géré pour MongoDB sur AWS, Azure et Google Cloud.

Vous pouvez télécharger MongoDB et l'exécuter vous-même où que vous soyez. MongoDB Ops Manager est la meilleure façon d'exploiter MongoDB sur votre propre infrastructure, car elle permet à vos équipes de procéder avec simplicité et rapidité au déploiement, au suivi, à la sauvegarde et au dimensionnement de MongoDB. Les fonctionnalités d'Ops Manager sont également disponibles dans le service MongoDB Cloud Manager.

La plateforme MongoDB est-elle évolutive ?

Des dizaines de milliers d'entreprises utilisent MongoDB pour créer des systèmes ultra-performants à grande échelle. Des organisations allant des entreprises du Fortune 100 aux startups les plus agiles font confiance à MongoDB. Elles sont passées de déploiements de serveur unique à des clusters de plus de 1 000 nœuds, assurant des millions d'opérations par seconde sur plus de 100 milliards de documents et pétaoctets de données. En savoir plus.

Avec le partitionnement, vous pouvez automatiquement faire évoluer votre base de données MongoDB sur plusieurs nœuds pour gérer les charges de travail gourmandes en écriture et les volumes grandissants de données. Le partitionnement avec MongoDB vous permet d'adapter la base de données de manière transparente à mesure que vos applications dépassent les limites matérielles d'un serveur unique, le tout sans augmenter la complexité de l'application. Pour répondre à l'évolution de la charge de travail, les documents peuvent être déplacés entre les partitions, et des nœuds peuvent être ajoutés ou retirés du cluster en temps réel. MongoDB rééquilibre automatiquement les données en fonction des besoins, sans intervention manuelle.

Comment MongoDB garantit-elle la haute disponibilité ?

MongoDB gère automatiquement des jeux de répliques, plusieurs copies de données qui sont distribuées sur les serveurs, les racks et les centres de données. Les jeux de répliques permettent d'éviter les interruptions de la base de données grâce à la réplication native et au basculement automatique.

Un jeu de répliques se compose de plusieurs membres. À tout moment, un membre agit en tant que membre principal et les autres membres agissent en tant que membres secondaires. En cas de défaillance du membre principal pour une raison quelconque (par exemple, une panne matérielle), l'un des membres secondaires prend automatiquement le relais en tant que membre principal et commence à traiter toutes les opérations de lecture et d'écriture.

Pour en savoir plus, consultez le Guide de l'architecture MongoDB.

Comment MongoDB garantit-elle la cohérence ?

La plate-forme MongoDB est cohérente par défaut : les lectures et les écritures sont envoyées au membre principal d'un jeu de répliques. Les applications peuvent éventuellement lire à partir de répliques secondaires, où les données sont cohérentes à terme par défaut. Les lectures depuis les membres secondaires peuvent s’avérer utiles lorsque l’application tolère un léger décalage des données (reporting, etc.). Les applications peuvent également lire à partir de la copie la plus proche des données (mesurée par la distance ping) lorsque la latence est plus importante que la cohérence.

Pour en savoir plus, consultez le Guide de l'architecture MongoDB.

La plateforme MongoDB est-elle sans schéma ?

Non. Dans MongoDB, la conception de schémas reste importante. Le modèle de document de MongoDB utilise cependant un paradigme de schéma différent de celui des bases de données relationnelles traditionnelles. Dans MongoDB, les documents se décrivent d'eux-mêmes ; il n'existe pas de catalogue central dans lequel les schémas sont déclarés et conservés. Le schéma peut différer d'un document à l'autre, et peut évoluer rapidement sans nécessiter la modification des données existantes.

Le schéma dynamique de MongoDB facilite également la représentation de données semi-structurées et polymorphes, car les documents n'ont pas tous besoin d'avoir exactement les mêmes champs. Par exemple, une collection de positions commerciales financières peut comporter des positions en actions, certaines en obligations et d'autres en liquidités. Tous peuvent avoir des champs en commun, mais certains champs (par exemple, « ticker », « numberofshares ») ne s'appliquent pas à tous les types de position.

Avec la validation de schéma, vous avez la possibilité d'appliquer un schéma aux données, garantissant ainsi la présence de champs obligatoires, de valeurs autorisées et de types de données appropriés. Lors de la conception de schémas dans MongoDB, vous devez prendre en compte un certain nombre de facteurs, notamment les types de requêtes que l'application devra effectuer, la façon dont les objets sont gérés dans le code de l'application et la manière dont les documents changeront et augmenteront potentiellement au fil du temps.

Pour en savoir plus sur la conception de schémas :

Dois-je normaliser mes données avant de les stocker dans MongoDB ?

Non. La conception de schémas est très importante lors de l'utilisation de MongoDB, mais elle est très différente de la conception de schémas pour les bases de données relationnelles.

Pour en savoir plus sur la conception de schémas :

Comment MongoDB sécurise-t-elle mes données ?

MongoDB offre des fonctionnalités étendues en matière de protection, de détection et de contrôle des accès aux données :

  • Authentification. MongoDB simplifie le contrôle des accès à la base de données grâce à un puissant mécanisme Challenge-Response basé sur SCRAM-256, ainsi qu'à l'intégration à l'infrastructure de sécurité de l'entreprise, notamment avec des certificats LDAP, Windows Active Directory, Kerberos et x.509.
  • Autorisation. Le contrôle d'accès basé sur les rôles (RBAC) vous permet de configurer des autorisations granulaires pour un utilisateur ou une application en fonction des privilèges nécessaires à l'exécution des tâches requises.
  • Audits. Pour satisfaire aux exigences de conformité réglementaire, les administrateurs de la sécurité peuvent utiliser le journal d'audit natif de MongoDB pour enregistrer l'ensemble des activités et des modifications de la base de données.
  • Chiffrement partout. Les données MongoDB peuvent être chiffrées lors de leur transfert sur le réseau, lors de leur utilisation dans la base de données et au repos, aussi bien sur un disque que dans des sauvegardes.
Consultez la documentation

pour plus d'informations sur les contrôles de sécurité de MongoDB. Rendez-vous dans le Centre de gestion de la confidentialité de MongoDB pour plus d'informations sur la sécurité dans le cloud.

Quelles sont les nouveautés de la version 4.4 de MongoDB ?

Consultez le Guide des nouveautés pour en savoir plus.

Quelle est la relation entre MongoDB Realm et MongoDB Stitch ?

MongoDB Realm associe Realm, la technologie populaire de synchronisation des données et de base de données mobile, et MongoDB Stitch, la plate-forme sans serveur pour MongoDB, dans une solution unifiée qui simplifie la création d'expériences puissantes et attrayantes sur un plus grand nombre d'appareils. Cliquez ici pour plus d'informations.

D'où vient le nom MongoDB ?

MongoDB vient du mot « humongous », qui signifie gigantesque. Nos fondateurs ont été à l'origine de la création de grandes entreprises Internet comme DoubleClick. Ils ont systématiquement été confrontés aux mêmes problèmes avec les bases de données, l'un des plus importants étant l'évolutivité. Lorsqu'ils ont entrepris le développement de MongoDB, ils voulaient une base de données évolutive. En d'autres termes, une base de données gigantesque (« humongous » en anglais, d'où le nom MongoDB).

Quelle est la signification de la feuille dans le logo MongoDB ?

Nos fondateurs pensent que le codage doit être naturel, tout comme l'utilisation d'une base de données. Ils veulent que l'expérience d'utilisation de MongoDB soit simple et naturelle. D'où la feuille.