我想知道是否有人可以告诉我MongoDB或CouchDB是否已经为生产环境做好了准备。

我现在正在研究这些存储解决方案(目前我更喜欢MongoDB),但是这些项目还很年轻,所以我预见到我将不得不非常努力地说服我的经理,我们应该采用这种新技术。

我想知道的是:

现在谁在生产环境中使用MongoDB或CouchDB ? 你如何使用MongoDB/CouchDB? 当你采用这种新的存储机制时,你遇到了什么问题(如果有的话)(你是如何克服它们的)? 你是如何处理你不得不面对的移民问题的? 你有任何好的或坏的经验,这些解决方案,你想分享吗?


当前回答

Adobe正在使用MongoDB作为他们即将发布的Adobe Experience Manager(以前的Day CQ)的核心DB引擎。

在我工作的机构中,有几个客户在大客户的项目中使用CouchDB。

在我看来,这两个都是伟大而可行的DBs。:)

其他回答

BBC和meebo.com在生产中使用CouchDB,我的一个客户也是如此。 下面是在野外使用Couch: CouchDB的其他用户的列表

主要的挑战是知道如何组织文档,并停止从关系数据的角度思考问题。

我们目前使用mongodb作为局域网协作的文件存储服务。 此外,像trello这样的项目使用mongodb作为后端数据存储。 我以前使用过couchdb,但没有用于生产能力。

就生产而言,无缝故障转移/恢复都需要一个保姆 1- Couchbase,没有无缝的故障转移/恢复,需要人工干预。重新平衡需要太多时间,如果丢失多个节点,风险也会很大。

2- Mongo与shards,数据恢复从松散的配置服务器,不是一个容易的任务

我是10gen (MongoDB的开发者)的CTO,所以我有点偏见,但我也管理一些在生产中使用MongoDB的网站。

Businessinsider已经在生产中使用mongo一年多了。从用户和博客文章,到网站上的每张图片,他们都在使用它。

Shopwiki正在使用它做一些事情,包括实时分析和缓存层。它们每秒对一个相当大的数据库进行超过1000次的写入。

如果你进入mongodb生产部署页面,你会看到一些人在生产中使用mongodb。

如果您对生产部署的规模或范围有任何疑问,请在我们的用户列表中发帖,我们将非常乐意提供帮助。

我们使用CouchDB存储移动入站和出站消息,并通过我编写的一些自定义视图报告此流量。前端是用Python编写的。我们没有任何真正的技术问题,它自12月底以来一直在运行。我遇到的唯一障碍是最初从MapReduce的角度思考,但一旦我学会了如何做到这一点,其他一切都很顺利。