MongoDB v / s Redis

时间:2012-10-10 05:29:05

标签: mongodb redis

主要要求:

  1. 群集和复制支持,因此可以轻松,低成本地部署云。
  2. 直接支持对象。从等式中取出ORM。
  3. Python客户端。
  4. 阅读沉重和温和的写作。
  5. 需要适度的速度但不像股票交易。

1 个答案:

答案 0 :(得分: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。
  6. 总分:Redis 3 MongoDB 5.

    现在我要使用MongoDB。作为额外的奖励,MongoDB还具有地理空间查询支持。因此,如果出于某种原因我必须向我的应用添加基于位置的查询,那么使用MongoDB进行转换应该不是很难。让我们看看事情是如何形成的。我希望有一天能回来重温这个答案:)。请随意添加我错过的任何内容。