couchdb - 对于集群 CouchDB 设置,我应该继续使用 BigCouch 吗?

标签 couchdb cluster-computing bigcouch

我一直在研究CouchDB的附件功能。基本上,CouchDB 允许您将二进制文件数据存储在数据库记录中。类似于 MongoDB 的 GridFS。我想要构建的项目主要围绕文件上传,我计划将其存储在 CouchDB 中。因此,这促使我研究 CouchDB 如何对数据进行集群,以便随着我的数据库的增长,由于文件附件,我可以将其集群到多个服务器上。我很失望地发现 CouchDB 不具备开箱即用的能力。 CouchDB 指南说要使用名为 couchdb-lounge 的东西,但该项目在 Github 上已经 2 年多没有动过。我认为在此基础上进行构建会感到不舒服。

我发现了 BigCouch,它似乎是经过修改的 CouchDB,具有我需要包含的确切集群功能,只是它看起来落后于当前稳定的 CouchDB 版本。我确实在一年前的一份新闻稿中读到,他们正在努力将 BigCouch 合并到官方 CouchDB 中,但我不知 Prop 体的时间表。

作为第三个选项,Couchbase Server 2 看起来也基于 CouchDB,但除其他功能外还构建了集群。我也认为这是一个可行的选择。但它不支持文件附件。

BigCouch 最终将登陆 CouchDB,这让我对现在继续使用 BigCouch 有了一些信心。

我应该使用 BigCouch 吗?如果只是 CouchDB + 集群,为什么不是每个人都使用 BigCouch?一定有一些缺点,对吗?

最佳答案

我的工作需求与您的需求略有不同,但我已经使用过 Couchbase、CouchDB 和 BigCouch。我发现 BigCouch 在云端设置起来非常简单,只用了一天就成功创建了一个集群。我们正在投资 BigCouch,并在进行尽职调查后致力于将其用于一项重大的移动计划。

原因:

  1. BigCouch 在云环境中相当容易设置。文档很简单,但我能够快速启动并运行一个简单的集群。我建议密切关注云环境中计算机的私有(private)主机名。 (如果有帮助的话,我可以发送有关在云中创建机器的详细说明。)

  2. BigCouch 由 Cloudant 维护,当然它是开源的,这很好。 Cloudant 的 CTO 告诉我,他们已经将相当多的代码合并到 Apache CouchDB 项目中。此外,Cloudant 看起来相当稳定,因此我们依靠它们来使项目保持最新状态。这似乎是一个很好的社区(不像 TouchDB 之类的社区)。

  3. 据我所知,BigCouch 主要围绕核心 CouchDB 代码/API 进行包装。这很好,因为这让我觉得他们以 CouchDB 作为基础开始,并没有尝试在其之上做太多事情。例如,CouchDB的复制已经非常好,BigCouch并没有尝试重新发明轮子。他们只是添加了一些 Couch 所缺少的东西。

  4. 与 Cloudant 相比,“原始”运行 BigCouch 的一个缺点是 Cloudant 维护自己的具有更多功能的内部分支。我们的评估发现这些功能并不是必需的。他们对我们来说有点过分了。

  5. Couchbase 似乎落后了一步。我花了很长时间才到达 Couchbase 2.0,并且我对 2.0 之前的 Couchbase 感到失望。我听说2.0很棒,但还没有机会使用它。由于各种原因,我对 2.0 之前的版本感到有点焦灼。

关于couchdb - 对于集群 CouchDB 设置,我应该继续使用 BigCouch 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13924362/

相关文章:

database - 为什么我应该使用基于文档的数据库而不是关系数据库?

javascript - 使用node-couchdb查询数据库

Python:集群作业管理

集群环境中的 Java Batch 作业

erlang - 490KB 插入导致 BigCouch 崩溃

couchdb - 如何维护 CouchDB、BigCouch 或其他开源数据库中的历史记录(例如 VCS)?

database - Couchdb 架构 : Views or documents?

mongodb - 我应该选择什么 : MongoDB/Cassandra/Redis/CouchDB?

r - 如何将颜色更改为 fviz_silhouette 中簇号以外的变量

authorization - 我应该使用什么角色以编程方式在 Cloudant/BigCouch/CouchDB 中创建和删除数据库?