Avantages et inconvénients de MongoDB?

Quelqu’un pourrait-il me dire quels sont les avantages et les inconvénients de mongodb, en particulier en comparaison avec la firebase database relationnelle? y compris ACID, évolutivité, débit, utilisation de la mémoire principale, performances d’insertion / requête et taille de l’index, etc.

Quelques points généraux sur MongoDB

Avantages:

  • sans schéma. Si vous avez un schéma flexible, c’est idéal pour un magasin de documents comme MongoDB. Ceci est difficile à mettre en œuvre de manière performante dans le SGBDR
  • facilité de mise à l’échelle. Echelle lit à l’aide de jeux de réplicas. Echelle écrit en utilisant le partitionnement (équilibrage automatique). Il suffit de lancer une autre machine et de partir. Ajouter plus de machines = append plus de RAM sur laquelle dissortingbuer votre jeu de travail.
  • Coût. Dépend de quel SGBDR bien sûr, mais MongoDB est gratuit et peut fonctionner sous Linux, idéal pour exécuter sur un kit de produits moins coûteux.
  • vous pouvez choisir le niveau de cohérence souhaité en fonction de la valeur des données (par exemple, performances plus rapides = feu et oubliez les insertions dans MongoDB, ralentissement des performances = attendre jusqu’à ce que l’insertion ait été répliquée sur plusieurs nœuds avant le retour)

Les inconvénients:

  • La taille des données dans MongoDB est généralement supérieure en raison, par exemple, que chaque nom de champ contient des noms de champs
  • moins de flexibilité avec l’interrogation (par exemple, pas de jointure)
  • pas de support pour les transactions – certaines opérations atomiques sont sockets en charge, à un seul niveau de document
  • À l’heure actuelle, Map / Reduce (par exemple, pour effectuer des agrégations / parsings de données) est correct, mais pas très rapide. Donc, si cela est nécessaire, il faudra peut-être append quelque chose comme Hadoop au mélange.
  • moins d’informations à jour disponibles / produit en évolution rapide

J’ai récemment blogué mes pensées sur MongoDB en tant que personne venant de SQL Server, donc cela pourrait vous intéresser (ci-dessus ne sont que quelques points principaux).

Si vous cherchez une réponse “Est-ce que MongoDB est meilleur que le SGBDR” – alors à mon humble avis, il n’y a pas de réponse. Les technologies NoSQL telles que MongoDB offrent une alternative aux technologies SGBDR. L’un peut être mieux adapté à un objective particulier que l’autre. Il s’agit donc de faire appel à ce qui vous convient le mieux pour un besoin donné.