couchdb - 是否可以通过多核提高 couchdb 中的 View /索引创建?

标签 couchdb

我们刚刚将应用程序运行时日志数据库从 MySQL 转换为 CouchDB。大约有 300 万个文档被转换,占用大约 7GB。

然后我们编写了我们的第一个 View (使用 reduce 函数)并执行查询以调用该 View 的第一次运行,创建/生成 View 。这应该需要一些时间,我只是在那台机器上做了一个“顶部”来查看进程/cpu 负载的东西。我刚刚注意到有两个繁重的过程:

beam.smp 
couchjs

有趣的是,它们似乎只占用一个内核,即使那台机器上有 4 个内核。是否可以在创建/更新 View 时让 couchdb 使用多个内核?

最佳答案

目前不支持。我的猜测是,良好的多核支持会增加 CouchDB 的复杂性。

到目前为止,CouchDB 总是选择简单而不是特性。 (您知道 CouchDB 只有 18,000 行代码吗?与 1 million in MySQL100,000 in SQLite 比较。)

在构 build 计文档 View 索引时,它使用一个 couchjs过程。如果您有多个设计文档,那么它们将并行运行。 CouchDB 将产生一个 couchjs处理每个设计文档,操作系统会将它们分布在多个内核中。

然而 ,如果你真的需要性能,BigCouch与 Apache CouchDB 兼容,并且支持使用过度分片架构的并行 View 索引构建。

关于couchdb - 是否可以通过多核提高 couchdb 中的 View /索引创建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5040546/

相关文章:

c# - 将 PouchDB 与 SQL Server 和 CouchDB 结合使用

json - 从带有多个对象的 JSON 文件批量加载 MongoDB

json - 如何将多个 JSON 对象保存到 couchdb 中?或者为什么 couchdb 不接受 JSON 中的外括号?

couchdb - 如何更改 CouchDB 中复制时传入的文档

couchdb - Node.js Koa 应用程序和 CouchDB 在单个容器中

javascript - 使用 jQuery 访问 Cloudant 数据库

couchdb - 如何在 Cloudant 或 CouchDB 中使用 skip 参数?

mysql - NoSQL 快速简单的海量数据存储

couchdb - 将 _find 查询与 use_index 结合使用时出现问题

android - CouchDB 通过 Android Volley 返回错误的 JSON 对象 GET 响应