为什么 CouchDB _dbs.couch 在 purging/compacting DB 时保持增长?
why does CouchDBs _dbs.couch keep growing when purging/compacting DBs?
设置:
- CouchDB 2.0 运行 在 Docker 上 Raspberry PI 3
- 使用 pouchdb 的节点应用程序,也在同一 PI 3Docker 中
场景:
- 在任何给定时刻,CouchDB 最多有 4 个数据库,总共有大约 60 个文档
- 节点应用程序 purges (using pouchdbs destroy) 并定期重新创建这些数据库(其中一些每两秒一次,其他每 15 分钟一次)
- 数据库总是用最新的条目重新创建
- 清除数据库而不是删除它们的文档的原因是,否则我会有大量已删除的文档,而我的网络客户端无法处理同步所有这些已删除的文档
问题:
文件var/lib/couchdb/_dbs.couch
一直在增长,从不缩小。上次我把它单独放了三个星期,它增长到 37 GB。 Fauxten 表明,CouchDB 最多只包含 60 个文档,但该文件仍在不断增长,直到填满所有 space 可用
我尝试了什么:
- 运行 x86 机器上的一切 (osx)
- 运行 没有 docker 的 couchdb(因为 this info)
- 使用 couchdb 2.1
- 运行 手动压缩(什么也没做)
- 谷歌搜索了大约 3 天
无论我做什么,我总是得到相同的结果:_dbs.couch
不断增长。我也无法真正找出该文件的用途。谷歌搜索特定文件名只会产生两页搜索结果,none 其中是特定的。
我目前唯一能做的就是不时地手动删除这个文件,然后重新启动 docker-container,这会删除我所有的数据库,但这不是节点的问题-应用程序很快就会重新创建它们。
_dbs 数据库是元数据库。它记录了集群数据库所有分片的位置,但由于它也是一个 couchdb 数据库(虽然不是分片数据库),它也需要不时压缩。
尝试;
curl localhost:5986/_dbs/_compact -XPOST -Hcontent-type:application/json
您可以启用压缩守护进程来为您执行此操作,我们在最近的 2.1.0 版本中默认启用它。
将此添加到 local.ini 文件的末尾并重新启动 couchdb;
[compactions]
_default = [{db_fragmentation, "70%"}, {view_fragmentation, "60%"}]
设置:
- CouchDB 2.0 运行 在 Docker 上 Raspberry PI 3
- 使用 pouchdb 的节点应用程序,也在同一 PI 3Docker 中
场景:
- 在任何给定时刻,CouchDB 最多有 4 个数据库,总共有大约 60 个文档
- 节点应用程序 purges (using pouchdbs destroy) 并定期重新创建这些数据库(其中一些每两秒一次,其他每 15 分钟一次)
- 数据库总是用最新的条目重新创建
- 清除数据库而不是删除它们的文档的原因是,否则我会有大量已删除的文档,而我的网络客户端无法处理同步所有这些已删除的文档
问题:
文件var/lib/couchdb/_dbs.couch
一直在增长,从不缩小。上次我把它单独放了三个星期,它增长到 37 GB。 Fauxten 表明,CouchDB 最多只包含 60 个文档,但该文件仍在不断增长,直到填满所有 space 可用
我尝试了什么:
- 运行 x86 机器上的一切 (osx)
- 运行 没有 docker 的 couchdb(因为 this info)
- 使用 couchdb 2.1
- 运行 手动压缩(什么也没做)
- 谷歌搜索了大约 3 天
无论我做什么,我总是得到相同的结果:_dbs.couch
不断增长。我也无法真正找出该文件的用途。谷歌搜索特定文件名只会产生两页搜索结果,none 其中是特定的。
我目前唯一能做的就是不时地手动删除这个文件,然后重新启动 docker-container,这会删除我所有的数据库,但这不是节点的问题-应用程序很快就会重新创建它们。
_dbs 数据库是元数据库。它记录了集群数据库所有分片的位置,但由于它也是一个 couchdb 数据库(虽然不是分片数据库),它也需要不时压缩。
尝试;
curl localhost:5986/_dbs/_compact -XPOST -Hcontent-type:application/json
您可以启用压缩守护进程来为您执行此操作,我们在最近的 2.1.0 版本中默认启用它。
将此添加到 local.ini 文件的末尾并重新启动 couchdb;
[compactions]
_default = [{db_fragmentation, "70%"}, {view_fragmentation, "60%"}]