MongoDB和CouchDB是完美的替代品吗?

MongoDB和CouchDB是完美的替代品吗?,mongodb,couchdb,database,Mongodb,Couchdb,Database,我还没有用NORE或nor弄脏我的手,但我想尽快这样做。。。我也读过一些关于这两种系统的书,在我看来,它们涵盖了相同的案例。。。还是我遗漏了一个关键的特征 我希望在下一个项目中使用基于文档的存储,而不是传统的RDBMS。我还需要数据存储来 处理大型二进制对象、图像和视频 自动将自身复制到物理上独立的节点 使额外的RDBMS需求变得多余 两者是否同样适用于这些要求 谢谢 我实际上已经非常广泛地使用了这两种方法,都用于非常不同的项目 我想说,它们同样适合您列出的要求,但是两者之间有很大的差异。IMO

我还没有用NORE或nor弄脏我的手,但我想尽快这样做。。。我也读过一些关于这两种系统的书,在我看来,它们涵盖了相同的案例。。。还是我遗漏了一个关键的特征

我希望在下一个项目中使用基于文档的存储,而不是传统的RDBMS。我还需要数据存储来

处理大型二进制对象、图像和视频 自动将自身复制到物理上独立的节点 使额外的RDBMS需求变得多余 两者是否同样适用于这些要求


谢谢

我实际上已经非常广泛地使用了这两种方法,都用于非常不同的项目

我想说,它们同样适合您列出的要求,但是两者之间有很大的差异。IMO最大的是他们的查询能力。CouchDB没有RDBMS意义上的“查询”选择*自。。。但实际上使用的是数据库1中定义的静态查询,它更像存储过程。MongoDB有很多优点

从本质上讲,这取决于您的应用程序需求。如果你能提供更多的信息,我可能会对这种情况下可能发生的事情有更多的了解


1:您可以在CouchDB中临时使用非静态查询,但不建议将其用于生产使用

Mongo使用更传统的查询。可以基于每个键启用索引,并使用SQLish查询语法

CouchDB的视图可以做更深入的索引和关系,但需要您做更多的工作,并了解键排序在执行查询时的工作方式


复制系统也有很大的不同。Mongo的复制看起来很像大多数RDBMS解决方案,包括主控和从控等。CouchDB的复制更加对等,没有主/从,每个CouchDB都是一个节点。

CouchDB的复制是为了保持地理位置不同的站点同步。它在停止复制的地方重新启动复制,从而优雅地处理网络错误和其他错误。参与的节点甚至可以故意脱机。

在使用MongoDB之前,我建议您查看以下内容:。MongoDB在每次写入时都缺少fsync,因此损坏数据的可能性很小。

从开发人员的角度来看,最大的区别是mongo live查询和Coach view,它们必须编译。
从操作的角度来看,coach完全使用httprest。如果您能够配置http服务器,那么您就知道如何设置coach。使用Mongo,您必须学习如何设置配置服务器、副本集和mongos类型的平衡器。

很棒的信息-我还一直在寻找关于何时使用Cassandra vs Mongo/Coach的简洁描述。你有任何关于这个的提示/链接吗?确实是非常好的信息。视图是否可以在以后定义,或者它们是初始设计的一部分?从版本1.7.5开始应予以固定?