Avantages et inconvénients de MongoDB? [fermé]

Quelqu'un pourrait-il me dire quels sont les avantages et les inconvénients de mongodb, en particulier en comparant avec la base de données relationnelle? y compris L'acide, l'évolutivité, le débit, l'utilisation de la mémoire principale, les performances d'insertion/requête et la taille de l'index, etc.

63
demandé sur Community 2011-03-09 13:31:31

1 réponses

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. Scale lit en utilisant des jeux de répliques. Scale écrit en utilisant sharding (équilibrage automatique). Lancez une autre machine et partez. Ajouter plus de machines = ajouter plus de RAM sur lequel distribuer votre ensemble de travail .
  • coût. Dépend quel SGBDR bien sûr, mais MongoDB est gratuit et peut fonctionner sur Linux, idéal pour fonctionner sur un kit de produits moins cher.
  • vous pouvez choisir le niveau de cohérence que vous voulez en fonction de la valeur des données (par exemple, des performances plus rapides = fire et forget insertions à MongoDB, des performances plus lentes = wait til insert a été répliqué sur plusieurs nœuds avant de revenir)

Inconvénients:

  • La taille des données dans MongoDB est généralement plus élevée en raison, par exemple, de chaque document a des noms de champs stockés il
  • moins de flexibilité avec l'interrogation (par exemple pas de jointures)
  • Pas de prise en charge des transactions-certaines opérations atomiques sont prises en charge, au niveau d'un seul document
  • pour le moment, Map / Reduce (par exemple pour faire des agrégations / analyses de données)est OK, mais pas très rapide. Donc, si cela est nécessaire, quelque chose comme Hadoop peut devoir être ajouté dans le mix
  • moins d'informations à jour disponibles / produit en évolution rapide

J'ai récemment blogué mes pensées sur MongoDB comme quelqu'un venant de L'arrière-plan SQL Server, donc vous pourriez être intéressé par cela (ci-dessus ne sont que quelques-uns des points principaux).

Si vous cherchez une réponse" est MongoDB mieux que SGBDR " - alors à mon humble avis, il n'y a pas de réponse. Les technologies NoSQL comme MongoDB fournissent une alternative, qui complète les technologies de SGBDR. On peut être mieux adapté à un but particulier que l'autre, il est donc tout au sujet de faire un appel sur ce qui est le mieux pour vous pour une exigence donnée.

110
répondu AdaTheDev 2011-03-09 11:11:06