mongodb和sql用于文档版本控制系统

时间:2011-09-30 17:00:34

标签: mongodb document-storage nosql

我是一名计算机工程师学生,我有一个基本上简单的任务,但我想让它更有趣:)。基本上我必须使用Java或.NET创建一个简单的多用户在线文档版本控制系统。因为我更像是一个.NET家伙,所以我将使用ASP.NET或Silverlight(尚未决定)。

无论如何有趣的部分:我想使用MongoDB来存储文档(它们几乎可以是任何内容,视频,音频,简单的MSOffice文件,纯文本),它们的每个版本以及相关的元数据(哪个库,文件夹它们'等等)。我想把一些其他东西,比如用户,权限等(规范还没有完成)放到普通的关系数据库中。问题是你怎么看待这个?你觉得这有什么意义吗?或者我只是想让整个过程复杂化?将mongodb用于所有内容或者将nosql内容完全排除在外是否更简单?这种东西有没有约定? :)

顺便说一句。在任何其他方面,我会使用一些免费的,经过实战检验的解决方案来进行文档版本控制,但我必须自己设计并实现这一点,并且我试图至少在非常规方面做到这一点:)。

感谢您的每一条评论:),任何帮助赞赏:) 迎接

2 个答案:

答案 0 :(得分:0)

做一些非常规的事情通常是发现新方法的好方法(更好的方式?)所以这是一个好主意。

由于无模式属性,使用mongodb也是一个好主意。

使用关系数据库存储额外信息非常奇怪,并且会增加更多复杂性而没有任何优势(IMO)

答案 1 :(得分:0)

如果您使用类似Mongoid on Rails的东西,这将是微不足道的。 http://mongoid.org/docs/extras.html寻找版本控制。 ODM内置了它。我还没有在.NET世界中使用Mongo,它总是像Raven一样,所以我不确定它的库是否像Mongoid一样容易工作。

Mongo也处理关系数据。您想要标准化的事物(例如用户记录)可以引用数据库中的其他文档。当然,您想要存储的魔术文档也可以使用。