0

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

无论如何,有趣的部分:我想使用 MongoDB 来存储文档(它们几乎可以是任何东西,视频、音频、简单的 MSOffice 文件、纯文本)、它们的每个版本和相关的元数据(它们所在的库、文件夹ETC)。我想将其他任何内容,例如用户、权限等(规范尚未完成)放入普通的关系数据库中。问题是您对此有何看法?你认为这有什么意义还是我只是想让整个事情复杂化?仅对所有内容使用 mongodb 或将 nosql 完全排除在外会更简单吗?这种东西有什么约定吗?:)

顺便提一句。在任何其他情况下,我都会使用一些免费的、经过实战测试的文档版本控制解决方案,但我必须自己设计和实现它,而且我正在尝试至少有点不合常规:)。

感谢您的每条评论:),任何帮助表示赞赏:) 问候

4

2 回答 2

0

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

Mongo 也处理关系数据。您想要规范化的事物(eq 用户记录)可以引用数据库中的其他文档。当然,您想要存储的任何神奇文档也可以使用。

于 2011-10-01T15:47:39.800 回答
0

非传统地做事通常是发现新方法(更好的方法?)的好方法,所以这是个好主意。

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

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

于 2011-10-01T13:48:50.670 回答