Chi*_*han 15 performance couchdb
我有一个大小为8.2 GB的CouchDB(v0.10.0)数据库,包含3890000个文档.
现在,我有以下作为视图的地图
function(doc) {emit([doc.Status], doc);
Run Code Online (Sandbox Code Playgroud)
它需要永远加载(4小时仍然没有结果).
以下是一些可能有助于描述情况的额外信息:
视图不是临时视图.视图是在插入3890000文档之前定义的.
服务器上没有任何东西.它是一个ubuntu盒子,只安装了默认值.
我看到我的CPU正在移动并努力工作(有时会达到100%).记忆也在移动,但没有增加.
所以我的问题是:
非常感谢,
驰
mik*_*eal 17
不要发出整个文档.这是不必要的.您可以改为运行查询include_docs=true,这样您就可以通过每行的doc属性访问文档.
发出整个doc时,会使索引大于或大于整个数据库.:)
Eva*_*van 15
视图仅在下次读取时更新.在阅读时,它处理自上次读取视图以来已更新(创建,更新,删除)的所有文档.
因此,即使您在插入3890000文档之前定义了视图,它也将处理视图的3890000文档.
来自http://wiki.apache.org/couchdb/Introduction_to_CouchDB_views
请注意,默认情况下,在保存文档时不会创建和更新视图,而是在访问文档时创建和更新视图.因此,在CouchDB创建视图时,第一次访问可能需要一些时间,具体取决于数据的大小.如果更好,在使用外部脚本保存文档时也可以更新视图,该脚本在进行更新时调用视图.可以在此处找到一个示例:RegeneratingViewsOnUpdate
也刚刚遇到这个提示,如果你在Ubuntu上运行可能会有用:
http://nosql.mypopescu.com/post/1299848121/couchdb-and-ubuntu-configuration-trick-for
| 归档时间: |
|
| 查看次数: |
7512 次 |
| 最近记录: |