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

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

我想知道的是:

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


当前回答

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

其他回答

MongoDB在授权给企业方面存在一些问题,我不确定细节,但我们的法律部门不明确地告诉我们,我们不允许在我们的任何产品中使用MongoDB。

CouchDB 0.11(发布于3月底)是1.0版本的特性冻结版。这意味着我们将保持与当前1.0版API的兼容性,所以现在是重新研究CouchDB的好时机(如果您很久没有研究过)。

CouchDB 0.11源代码发布在这里。这里链接了二进制安装程序和其他好东西。

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

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

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

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

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

我们在生产中使用MongoDB的移动后端服务,即Netmera。我们使用它来存储所有用户和内容数据。