MongoDB与Redis的比较

5

主要要求:

  1. 支持集群和复制,便于在云端进行简单低成本部署。
  2. 直接支持对象。将ORM从方程中取出。
  3. Python客户端。
  4. 读重写中等。
  5. 需要适度的速度,但不像股票交易那样快。
1个回答

4
基于这篇文章

http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

我最终将我的数据库选择缩小到了RedisMongoDB,因为它们似乎满足了大部分要求。我会解释一下我是如何选择最合适的一个来满足我的需求。
  1. 集群和复制支持 - Redis 几乎没有对集群或复制的支持。因此,您的内存随着数据的增长而增长。由于我们使用基于云的基础架构 - 支持这种内存的成本可能很大。另一方面,MongoDB 支持复制和集群。Redis 0 MongoDB 1。
  2. 对象直接支持 - 没有 ORM : 在这里,Redis 显然是赢家,因为它支持类似 memcached 的模型。但是,MongoDB 还提供了“对象式存储”和直接支持 JSON。因此,如果我可以牺牲速度要求,MongoDB 可以满足这个需求。Redis 1 MongoDB 1。
  3. Python 客户端 - 两个数据库都有强大的 Python 客户端。Redis 1 MongoDB 1。
  4. 读重和适度写入 - 我认为在读性能方面这两个数据库之间没有明显的区别。然而只有经验才能说明。暂时来看 - 我给它们相等的评分。Redis 1 MongoDB 1。
  5. 不需要股票交易般的速度 - 显然 MongoDB 在这方面有优势。Redis 0 MongoDB 1。

总分:Redis 3 MongoDB 5。

现在我打算使用MongoDB。作为额外的奖励,MongoDB还支持地理空间查询。因此,如果出于任何原因我必须将基于位置的查询添加到我的应用程序中,使用MongoDB进行转换应该不会太难。让我们看看情况如何发展。我希望有一天能回来重新审视这个答案:)。请随意补充我可能遗漏的内容。


16
“不需要像股票交易一样的速度” - 如果你不需要它,但是有人有这个需求,那么这个要点的得分为1:1,而不是0:1。 - Danny Varod

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接