问答中心分类: MONGODBMongoDB 或 CouchDB – 适合生产?
0
Alan 提问 2周 前

关闭.这个问题需要多专注.它目前不接受答案。

关闭8 年前.

锁定.这个问题及其答案是锁定因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或交互。

我想知道是否有人可以告诉我MongoDB或者沙发数据库准备好了生产环境。
我现在正在研究这些存储解决方案(目前我更喜欢 MongoDB),但是这些项目还很年轻,所以我预见我将不得不非常努力地说服我的经理我们应该采用这个新技术。
我想知道的是:

  1. 现在谁在生产环境中使用 MongoDB 或 CouchDB?
  2. 您如何使用 MongoDB/CouchDB?
  3. 当您采用这种新的存储机制时,您遇到了哪些问题(如果有的话)(以及您是如何克服这些问题的)?
  4. 您是如何处理必须处理的任何迁移问题的?
  5. 您对这些解决方案中的任何一个有什么好的/坏的经验,您想分享吗?
polemon 回复 2周 前

翻阅答案,我并没有真正找到我想要的东西。由于两个数据库非常相似,我应该选择哪一个?它们中的任何一个都有什么好处?对于什么样的应用我应该选择哪个?如果有人能回答这些问题就好了。

polemon 回复 2周 前

这实际上取决于它们将如何使用。交易的缺乏对许多环境来说都是令人不安的,但对其他环境来说却完全没问题。此外,从根本上“备份”分布式数据库也很困难,尽管争论是通过跨多个分片的复制来确保数据持久性。

polemon 回复 2周 前

@pauluss86 我认为您可能应该在 pauluss86 的链接中添加免责声明,即作者(Emin)实际上来自 MongoDB(Hyperdex)的竞争对手 – 所以只是一个轻微有偏见。公平地说,这里有来自 MongoDB 的 InfoQ 的相应回复——infoq.com/news/2013/02/MongoDB-Fault-Tolerance-Broken

polemon 回复 2周 前

@victorhooi 是的,但我认为这仍然是一个有效的担忧。 InfoQ 的回应也有后续行动:关联.就个人而言,我不太相信 Mongo 的辩护。无论如何,我建议任何人在选择数据库之前阅读问题(双方)。

polemon 回复 2周 前

这说明了一切db-engines.com/en/rankingMongoDB 日益普及,是网络上最受欢迎的文档存储

17 Answers
0
Matt Aimonetti 回答 2周 前

英国广播公司米宝网在生产中使用 CouchDB,我的一位客户也是如此。以下是使用 Couch 的其他人的列表:野外的 CouchDB
主要挑战是知道如何组织文档并停止思考关系数据。

johndodo 回复 2周 前

实际上对我来说,如果需要的话,主要的挑战是回去。一旦你从脑海中消除了“关系约束”,就很难再回头了。 🙂

0
dormsbee 回答 2周 前

源锻造使用 MongoDB。看这个演示文稿或者在这里阅读.

kiwicptn 回复 2周 前

他们用它做什么?或者他们是如何使用它的?

o1iver 回复 2周 前

我知道这是一个老问题,但也许有人会再看一遍。这是 SourceForge 开发人员关于他们如何使用 MongoDO 的演示文稿:infoq.com/presentations/MongoDB-at-SourceForge

0
okurow 回答 2周 前

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

  1. 从主数据库轻松复制到具有不同文档的多个客户端。
  2. 快速预先计算的数据,例如“我有多少具有此属性和过滤器的零件,适合这些条件”

事实:

  1. 我们的商店现在的运行速度比 MySQL 快得多(并且 mysql-database 需要额外 1-3 天的预计算(因此每月更新两次),使数据准备好进行产品计数和过滤,CouchDB 需要 5 小时,所以我们可以每晚更新产品数据)
  2. 为商店节点设置(过滤的)数据分发和备份既快速又简单

但是也:

  1. 理解 map/reduce 和没有连接的限制是相当困难的
  2. 在没有外部程序的情况下,无法对“删除位置”或“更新位置”等数据进行操作
  3. 除非出现问题,否则复制效果很好;那么真的很难找出原因(对于初学者)
  4. 如果您不是 Linux 极客,那么安装没有二进制文件的 CouchDB(是的,有一些,但不是针对每个操作系统/版本)可能会很困难。但是 CouchDB 社区很有帮助(#couchdb),幸运的是,那里有一些公司(cloudant、iriscouch)提供从免费到大企业的服务。
  5. CouchDB 正在向前发展,因此正在进行许多更改(改进),可能会改变他们的工作方式。但基本情况保持稳定。

结果:MySQL作为数据创建和维护的数据库是可靠且易于理解和处理的。我认为我们不会改变这一点。但我也不想错过 CouchDB 视图的强大功能和复制设置的简易性。
由于配置错误和忘记日志轮换(视图构建需要太长时间或挂起,复制停止),生产沙发有时会在工作数月后引起麻烦,但不会丢失数据,并且总是可以轻松重置。

Erik Kaplun 回复 2周 前

每家商店 70 000 或 700 000 件商品?还有,自从你写这篇文章后有什么变化吗?也许实现了一些缺失的功能?

0
Sergio Tulentsev 回答 2周 前

我在生产中使用 CouchDB。目前它存储了所有那些不在原始数据库模式中的“可选”字段。现在我正在考虑将所有数据移动到 CouchDB。
我承认,这是一个相当冒险的步骤。首先,因为它还不是 v1.0。其次,因为它需要驱动器空间。根据我的计算,CouchDB 文件(带索引)比具有相同行的 MySQL 数据库大 30 倍左右。但我很确定它会很好。

Sergio Tulentsev 回复 2周 前

好吧,它根本没有成功。几个月后我摆脱了couchdb。

Sergio Tulentsev 回复 2周 前

@aetheria:它没有处理负载。另外,我们有太多的写入,我们需要每隔一小时左右压缩一次。 CouchDB 不适用于需要大量写入的应用程序。

ᴇʟᴇvᴀтᴇ 回复 2周 前

谢谢。我对现有文件的更新是问题吗?即写新文档是可以的,但是更新会在文件中留下未使用的垃圾。那是对的吗?

Sergio Tulentsev 回复 2周 前

IIRC,即使是新的写入也不是太高效。这种双标头方法的磁盘寻道次数过多。

Sergio Tulentsev 回复 2周 前

@aetheria:回到mysql,然后回到mongo。到处都有相当多的问题。 🙂

0
J Chris A 回答 2周 前

CouchDB 0.11(3 月底发布)是 1.0 的功能冻结版本。这意味着我们将保持与 1.0 的当前 API 的兼容性,所以如果您有一段时间没有再看一下 CouchDB,那么现在是时候重新审视一下 CouchDB。
CouchDB 0.11 源代码版本可在此处获得。二进制安装程序和此处链接的其他好东西。