mongodb and sql for document versioning system
我是一名计算机工程师学生,我有一个基本上简单的任务,但我想让它更有趣:)。基本上我必须使用Java或.NET创建一个简单的多用户在线文档版本控制系统。因为我更像是一个.NET人,我将使用ASP.NET或Silverlight(它还没有决定)。
无论如何,我想使用MongoDB来存储文档(它们几乎可以是任何内容,视频,音频,简单的MSOffice文件,纯文本),它们的每个版本以及相关的元数据(它们所在的库,文件夹)等等)。我想把一些其他东西,比如用户,权限等(规范还没有完成)放到普通的关系数据库中。问题是你怎么看待这个?你觉得这有什么意义吗?或者我只是想让整个过程复杂化?将mongodb用于所有内容或者将nosql内容完全排除在外是否更简单?这种东西有没有约定? :)
BTW。在任何其他方面,我会使用一些免费的,经过实战检验的解决方案来进行文档版本控制,但我必须自己设计并实现这一点,并且我试图至少做一些非常规的:)。
感谢每一条评论:),任何帮助赞赏:)
电贺
如果你使用像Mongoid on Rails这样的东西,这将是微不足道的。 http://mongoid.org/docs/extras.html寻找版本控制。 ODM内置了它。 我还没有在.NET世界中使用Mongo,它总是像Raven一样,所以我不确定它的库是否像Mongoid一样容易工作。
Mongo也处理关系数据。 您想要标准化的事物(例如用户记录)可以引用数据库中的其他文档。 当然,您想要存储的魔术文档也可以使用。
做一些非常规的事情通常是发现新方法(更好的方法?)的好方法,所以这是一个好主意。
由于无模式属性,使用mongodb也是一个好主意。
使用关系数据库存储额外信息非常奇怪,并且会增加更多的复杂性而没有任何优势(IMO)