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

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

我想知道的是:

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


当前回答

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

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

其他回答

我们将CouchDB作为MySQL的替代品运行在我们的商店(70.0000个商品/商店,所有商品的属性总数为400万个,商品之间的交叉连接)。

我们的目标是:

从master-db轻松复制到具有不同文档的多个客户端。 快速预计算数据,比如“这个属性和那个过滤器有多少部分符合这些条件”

事实:

我们的商店现在运行得比使用MySQL快得多(MySQL数据库需要额外的1-3天的预计算(因此每月更新两次),使数据为产品计数和过滤做好准备,CouchDB需要5个小时,所以我们可以每晚更新产品数据) 设置(过滤)数据分布和备份到商店节点是快速和容易的

但也:

Understanding map/reduce and the limits of not having joins is quite hard No operation on data like "delete where" or "update where" without external programs Replication works well, unless there is a problem; then it's really hard to find out what was the reason (for beginners) The installation of CouchDB without binaries (yes there are a some in the wild, but not for every OS/version) could be hard, if you are not a Linux geek. But the CouchDB Community is helpful (#couchdb), and luckily there are companies out there (cloudant, iriscouch) that offer services from free to big business. CouchDB is moving forward, so there are a lot of changes (improvements) going on that might change they way you work. But basic things remain stable.

结果是: MySQL作为数据创建和维护的数据库是可靠的,易于理解和处理。我认为我们不会改变这一点。 但我也不想错过CouchDB视图的强大功能和复制设置的便利性。

在工作了几个月之后,生产沙发有时会因为错误配置和忘记日志(视图构建花费太长时间或挂起,复制停止)而造成麻烦,但从未丢失数据,并且总是可以轻松重置。

我对MongoDB一无所知,但从CouchDB常见问题解答:

CouchDB准备好投入生产了吗? 是的,请参阅InTheWild以获得使用CouchDB的部分项目列表。另一个很好的概述是CouchDB案例研究

还有一些链接:

回复:当前CouchDB状态? SimpleDB, CouchDB和其他“新”数据存储-反馈

我们在生产中使用mongodb

www.beachfront.io -接近每秒5k的写请求 www.beachfrontbuilder.com -每秒500个读写请求,维护1000万用户数据和olap。

我们通过实现自定义组件克服了数据归档面临的唯一挑战。

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

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

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