node.js - Couchdb 大小管理

标签 node.js couchdb nosql

我有一个名为restaurants.couch的沙发数据库,​​每周一次 紧凑数据库,文件大小将从 20MB 变为 11MB。

我发现旧版本已经消失 - 我不需要。

但是,我注意到 .restaurants_design 文件夹大小超过 100MB 这里有 30 多个 .view 文件。

我执行了紧凑 View 清理 View ,它将其减少到 8MB,并且只有 1 个 .view 文件。我的应用程序运行速度也快了一些。

我的问题:

1) 为什么.restaurants_design变得这么大?什么原因。这只是一个 View 。

2) 紧凑 View 清理 View 有什么好处(除了减小文件大小之外)?

3) 紧凑 View 清理 View 有哪些副作用?如果我不需要版本控制,我会后悔这样做吗?

4) 应该多久压缩一次数据库、压缩 View 和清理 View 如果应用程序除了简单的版本控制之外并不真正需要版本控制,则执行 nosql 数据库与一些 View 。

最佳答案

  1. CouchDb 将 View 查询结果缓存在磁盘上以进行索引,以加快查询速度。因此,如果您有很多 View ,并且用户使用不同的参数查询它们,它们将被缓存。
  2. Compact Views -View indexes on disk are named after their MD5 hash of the view definition. When you change a view, old indexes remain on disk. To clean up all outdated view indexes (files named after the MD5 representation of views, that does not exist anymore) you can trigger a view cleanup:Clean Up Views但是,请删除旧 View 缓存,因为如果更新 View , View 的旧结果仍然在磁盘上。
  3. 副作用是下一个查询 View 的人将花费更长的时间,因为 CouchDB 需要重建缓存。 Compact ViewsClean Up Views不影响版本控制,但 Compact Database确实如此。
  4. 频率实际上取决于应用程序的工作方式和部署设置的限制。但是,如果您确实想禁用版本控制,请尝试查看 _revs_limit设置,这样您就可以为所有文档设置修改限制。

关于node.js - Couchdb 大小管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25296790/

相关文章:

jquery - 通过 jquery.couch.js 或其他方式在 Couchapp/CouchDB 中进行用户注册

nosql - 关于一致性级别的 Cassandra 写入性能

node.js - ExpressJs 服务器以及命令行界面

javascript - 没有改变任何东西,突然收到 Ionic TypeError co.event is undefined

javascript - 同位素砌体网格问题

python - 使用 couchdb-python 获取多个 CouchDB 文档

php - 使用Elastic Search在CouchDB中的数组内部查询

node.js - 动态创建 zip 并将其流式传输到客户端

hadoop - 想了解Apache Phoenix的查询执行计划

javascript - 使用 JS 的 Firebase - 努力更新值(如果存在)或添加(如果不存在)