我们刚刚将应用程序运行时日志数据库从 MySQL 转换为 CouchDB。大约有 300 万个文档被转换,占用大约 7GB。
然后我们编写了我们的第一个 View (使用 reduce 函数)并执行查询以调用该 View 的第一次运行,创建/生成 View 。这应该需要一些时间,我只是在那台机器上做了一个“顶部”来查看进程/cpu 负载的东西。我刚刚注意到有两个繁重的过程:
beam.smp
couchjs
有趣的是,它们似乎只占用一个内核,即使那台机器上有 4 个内核。是否可以在创建/更新 View 时让 couchdb 使用多个内核?
最佳答案
目前不支持。我的猜测是,良好的多核支持会增加 CouchDB 的复杂性。
到目前为止,CouchDB 总是选择简单而不是特性。 (您知道 CouchDB 只有 18,000 行代码吗?与 1 million in MySQL 或 100,000 in SQLite 比较。)
在构 build 计文档 View 索引时,它使用一个 couchjs
过程。如果您有多个设计文档,那么它们将并行运行。 CouchDB 将产生一个 couchjs
处理每个设计文档,操作系统会将它们分布在多个内核中。
然而 ,如果你真的需要性能,BigCouch与 Apache CouchDB 兼容,并且支持使用过度分片架构的并行 View 索引构建。
关于couchdb - 是否可以通过多核提高 couchdb 中的 View /索引创建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5040546/