2011-04-04 3 views
3

Ceci pourrait être répondu ici (ou ailleurs) avant mais je continue à être mélangé/aucune vue sur Internet.MongoDB pour le travail personnel non-distribué

Je n'ai jamais utilisé autre chose que des bases de données comme SQL et puis je suis tombé sur des bases de données NoSQL (mongoDB, spécifiquement). J'ai essayé mes mains dessus. Je le faisais juste pour m'amuser, mais partout on dit que c'est vraiment génial quand on l'utilise sur des serveurs distribués. Donc, je me demande, si c'est utile (d'une manière non triviale) pour faire de petits projets et des choses principalement sur un ordinateur personnel? Y a-t-il de réels avantages quand il n'y a qu'un seul serveur?

Bien que ce soit sympa d'utiliser MapReduce (et d'en parler à des pairs: d) ne sera-t-il pas excessif lorsqu'il est utilisé pour de petits projets exécutés sur des serveurs uniques? Ou y a-t-il d'autres avantages? J'ai besoin d'une pensée claire. Désolé si j'avais l'air naïf ici.

Facultatif: Quelques exemples où/comment vous avez utilisé serait génial.

Merci.

+0

Si vous choisissez MongoDB, faites attention à ses limitations sur les systèmes 32 bits. – Sergey

Répondre

5

IMHO, MongoDB est parfaitement valide pour une utilisation sur des projets mono-serveur/petits et ce n'est pas un pré-requis que vous ne devez l'utiliser que pour des projets "big data" ou multi-serveurs.

Si MongoDB répond à une exigence particulière, cela n'a pas d'importance sur l'échelle du projet, alors ne laissez pas cet aspect vous influencer. Utiliser MapReduce peut être un peu exagéré/pas la meilleure approche si vous avez vraiment des données de faible volume et voulez juste faire quelques agrégations de base - cela pourrait être fait en utilisant l'opérateur de groupe (qui a actuellement des limitations quant à la quantité de données revenir).

Donc, je pense que ce que je dis en général, c'est d'utiliser le bon outil pour le travail. Il n'y a rien de mal à utiliser MongoDB sur de petits projets/PC simple. Si un SGBDR tel que SQL Server offre un meilleur ajustement pour votre projet, utilisez-le. Si une technologie NoSQL comme MongoDB convient, alors utilisez-la.

4

+1 sur AdaTheDev - mais il y a 3 autres choses à noter ici:

  1. Durabilité: A partir de la version 1.8 partir, MongoDB possède un seul durabilité du serveur quand a commencé avec --journal, maintenant il est plus applicable à simple scénarios de serveur
  2. Le choix d'un DB NoSQL par exemple un SGBDR ne doit pas être décidé selon le paramètre de serveur unique ou multiple, mais en fonction de la modélisation de la base de données. Voir par exemple 1 et 2 - il est facile de stocker des structures de type commentaire dans MongoDB. MapReduce: encore une fois, cela dépend de la modélisation des données et de l'opération/calcul qui doit se produire. Selon la manière dont vous modélisez vos données, vous pouvez ou non utiliser MapReduce.
+0

+1 principalement pour la durabilité du serveur unique :) – AdaTheDev

Questions connexes