2011-06-21 3 views
2

Je veux construire une application web similaire à Reddit.com, où vous avez plusieurs niveaux de commentaires, beaucoup de lectures et d'écritures. Je me demandais si nosql et mongoDB en particulier sont le bon outil pour cela?Nosql est-il un bon outil pour le forum de niveau multy comme système de commentaire?

+0

@Sentinel, Pouvez-vous me diriger vers un qui montre des commentaires à plusieurs niveaux? Je l'apprécierais vraiment – DavidW

+0

http://stackoverflow.com/questions/6431570/when-to-use-nosql-and-which-one – sdolgy

Répondre

2

Commentaires - c'est vraiment chose pour la base de données nosql, sans aucun doute. Vous évitez plusieurs jointures à lui-même. Et cela signifie que votre système peut évoluer!

Avec mongodb vous pouvez stocker toute la hiérarchie dans un document. Certains peuples peuvent dire qu'il y aura des problèmes avec les mises à jour atomiques, mais je suppose que ce n'est pas un problème parce que vous pouvez charger et sauvegarder l'arbre des commentaires entiers. De quelque manière que ce soit, vous pouvez facilement reconcevoir votre système plus tard pour prendre en charge les mises à jour atomiques et éviter les problèmes de concurrence.

+0

Connaissez-vous des didacticiels de nourriture ou des guides sur la façon de faire cela? Je n'arrive pas à comprendre comment je ferais tout ça sans jointures. Disons que j'ai une collection User et une collection de commentaires. Si je mets à jour l'utilisateur, comment les informations utilisateur sont-elles mises à jour dans les collections de commentaires? – DavidW

+0

@ user720943: Jetez un oeil ici -> http://groups.google.com/group/mongodb-user/browse_thread/thread/3f35c3fb28891b52 par exemple. –

+0

Pourquoi ne pas écrire le système avec des mises à jour atomiques depuis le début? –

0

Reddit lui-même utilise Cassandra. Si vous voulez quelque chose "semblable à reddit.com", peut-être vous devriez regarder leur source - https://github.com/reddit/reddit/wiki. À propos de la version Cassandra 0.7: «Exécuter un grand site Web est une course constante entre la mise à l'échelle de votre base d'utilisateurs et la mise à l'échelle de votre infrastructure pour la prendre en charge. L'évolutivité transparente qui nous est offerte par Apache Cassandra est en grande partie ce qui nous a permis de le faire sur nos ressources limitées.Vandandra v0.7 représente les leçons d'opérations réelles tirées d'installations comme la nôtre et fournit d'autres fonctionnalités comme l'expiration des colonnes qui nous permettent de à l'échelle encore plus de notre infrastructure. "

Cependant, Rick Branson notes que Reddit ne tire pas pleinement parti des fonctionnalités de Cassandra, donc si vous deviez repartir de zéro, vous voudriez faire certaines choses différemment.

Questions connexes