3

好的,我确实为我的客户提供了一个小型消息传递网站。好吧,它更有可能是一个评论后系统(用 PHP 创建)。现在我的客户想要一个可以评论另一个现有评论并添加一些功能(如喜欢和标记)的系统。另一件事是我的客户在他的公司中大量使用现有系统,因为他们像 Skype 聊天一样使用它(这使它成为读写密集型)。好吧,我的客户希望尽可能使用开源软件。所以我使用了mysql社区版。

我的故事太多了......所以我对 NoSql 数据库进行了 1 周的研究,我发现它适合我的要求,因为我的客户想要添加功能(这意味着不时添加和添加列和表。)现在这些是引起我注意的nosql数据库系统。(如果你能推荐其他nosql数据库系统就可以了)

  1. MongoDB
  2. 沙发数据库
  3. 雷迪斯

现在我的问题是这三个中哪一个对我的情况有好处?我还读到了关于这 3 个 nosql 数据库的一些坏事

  1. MongoDB 的 2.x 版本很糟糕
  2. CouchDB 很慢(我的客户不想慢)
  3. Redis 是基于内存的,因此它只是以特定的时间间隔写入磁盘。所以当系统在间隔中间崩溃时,数据就会丢失

我想对此有一些意见以及任何可以帮助我应对即将到来的情况的建议

4

1 回答 1

2

MongoDB 是一个流行的解决方案,也是我个人的偏好。Mongo 的优点(除了无模式之外)是您可以拥有嵌套/嵌入的文档。例如,您可以有一个评论,其中包含一组子评论,每个子评论都有自己的子评论数组。我不知道任何其他具有该功能的数据存储。它也很快。

CouchDB 有一些不错的特性,但 Mongo 非常相似并且要好得多。

Redis 与其他两个非常不同。它主要用作 memcached 的替代品。所以它主要用于临时数据。尽管它内置了一些不错的 pubsub 功能。很多人同时使用 MongoDB 和 Redis,但用途不同。

于 2012-06-16T06:43:33.647 回答