您建议使用哪种NoSQL数据库来开发类似Wiki的应用程序?
我需要文档包含许多子节文本,每个文本都可以进行版本控制,然后进行规范化。
想想维基百科页面。它有许多部分,作为Wiki,它具有文档的版本控制。但是,每次更改段落时,我都不希望创建新文档(或文档完全重复)。我只希望特定段落(或部分)具有新版本,因此不会浪费存储空间。
有关数据库或设计策略的任何建议吗?
答案 0 :(得分:4)
目前没有NoSQL数据库提供你想要的东西(据我所知)。最接近您想要的是CouchDB,它可以在每次更新时保留文档修订历史记录。磁盘空间很便宜所以一般来说这不是问题。
但是,如果版本控制是您业务的关键,也是业务需求之一,那么您应该选择专门为解决此问题而构建的工具--Git。 Git完全符合你的要求,为你的wiki应用程序做了很多繁重的工作(比如版本差异,换句话说容易责怪谁做了什么改变,有钩子等等。)。
一个很好的例子是GitHub维基页面。他们在git(Gollum)上构建的wiki引擎是开源的。
总而言之,以下是您的选择: