1

你推荐什么 NoSQL 数据库来开发类似 Wiki 的应用程序?

我需要文档有许多小节文本,并且每个都可以进行版本控制,并且可以标准化。

想想一个维基百科页面。它有很多部分,并且作为 Wiki,它具有文档的版本控制。但是,我不希望每次更改段落时都创建新文档(或完全复制文档)。我只希望那个特定的段落(或部分)有一个新版本,这样就不会浪费存储空间。

关于数据库或设计策略的任何建议?

4

1 回答 1

4

目前没有 NoSQL 数据库提供你想要的东西(据我所知)。最接近您想要的是 CouchDB,它会在每次更新时保留文档修订历史记录。磁盘空间很便宜,所以通常这不是问题。

但是,如果版本控制是您业务的关键和业务需求之一,您应该选择专门为解决此问题而构建的工具——Git。Git 完全按照你的意愿去做,并且为你的 wiki 应用程序做了很多繁重的工作(比如版本差异,容易指责,换句话说,谁做了什么改变,有钩子等等)。

一个很好的例子是 GitHub wiki 页面。他们基于 git ( Gollum )构建的 wiki 引擎是开源的。

最后,以下是您的选择:

  • 使用 git
  • 为您进行修订跟踪的 CouchDB,但据我所知,它保存了文档的副本
  • 在您的应用程序中实现修订逻辑,任何 NoSQL 数据库都非常适合。
于 2012-06-03T13:03:49.307 回答