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