2011-09-30 5 views
0

Je suis un étudiant en génie informatique et j'ai une tâche fondamentalement simple mais je voudrais le rendre un peu plus intéressant :). Fondamentalement, je dois créer un simple système de versionnage de documents en ligne multi-utilisateur en utilisant Java ou .NET. Parce que je suis plus un gars. NET, je vais utiliser ASP.NET ou Silverlight (ce n'est pas encore décidé). En tout cas, la partie intersting: Je veux utiliser MongoDB pour stocker les documents (ils peuvent être pratiquement n'importe quoi, vidéo, audio, fichiers MSOffice simples, texte brut), chaque version d'entre eux et les métadonnées connexes (quelle bibliothèque, dossier ils sont dans etc). Je voudrais mettre n'importe quoi d'autre, comme des utilisateurs, des permissions etc. (les spécifications ne sont pas encore terminées) dans une base de données relationnelle ordinaire. La question est: qu'en pensez-vous? Pensez-vous que cela a un sens ou que j'essaie simplement de compliquer le tout? Serait-il plus simple de n'utiliser que du mongodb pour tout ou de laisser le truc de nosql entièrement hors de cela? Y a-t-il des conventions pour ce genre de choses? :)mongodb et sql pour le système de versionnage de documents

BTW. Dans d'autres circonstances, j'utiliserais une solution gratuite et testée au combat pour les versions de doc, mais je dois concevoir et implémenter ceci moi-même, et j'essaie de le faire au moins un peu de manière non conventionnelle :).

Merci pour tous les commentaires :), toute aide appréciée :) Salue

Répondre

0

Si vous utilisez quelque chose comme MongoId on Rails, ce serait trivial. http://mongoid.org/docs/extras.html Rechercher le versionnage. L'ODM l'a construit pour vous. Je n'ai pas encore utilisé Mongo dans le monde .NET, ça a toujours été quelque chose comme Raven, donc je ne suis pas sûr que les bibliothèques pour ça fonctionnent facilement comme le fait Mongoid.

Mongo gère également les données relationnelles. Les choses que vous voulez normalisées (par exemple, les enregistrements utilisateur) peuvent avoir des références à d'autres documents dans la base de données. Et bien sûr, le document magique que vous voulez stocker fonctionne également.

0

faire est unconventionnaly généralement un bon moyen de découvrir de nouvelles façons (de meilleures façons?) Il est une bonne idée.

L'utilisation de mongodb est également une bonne idée à cause de la propriété schemaless.

une base de données à l'aide relationa pour stocker des informations supplémentaires est tout à fait étrange et ajoutera plus de complexité sans avantage (OMI)

Questions connexes