是否有可能通过多个内核增强couchdb中的视图/索引创建?

时间:2011-02-18 11:08:54

标签: couchdb

我们刚刚将应用运行时日志数据库从MySQL转换为CouchDB。有大约3M文档转换,占用约7GB。

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

beam.smp 
couchjs

有趣的是,它们似乎占据了一个核心,即使该机器上有4个核心。是否可以在创建/更新视图时使couchdb使用多个核心?

1 个答案:

答案 0 :(得分:8)

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

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

在构建设计文档视图索引时,它使用一个couchjs进程。如果您有多个设计文档,那么并行运行。 CouchDB将为每个设计文档生成一个couchjs进程,操作系统会将它们分布在多个核心上。

然而,如果您确实需要性能,BigCouch与Apache CouchDB兼容且 支持使用过度扩展架构构建并行化视图索引。