我很困惑 CouchDB的 磁盘上数据库文件大小的行为。看起来我做的并不重要,数据库文件只会变得越来越大(甚至在删除/清除文档或整个数据库时)。
我看了我的 /var/lib/couchdb/_dbs.couch
文件,它永远不会减小。简单的例子:
curl -X PUT http://admin:secretpassword@localhost:5984/testdb
_dbs.couch
文件大小增加了5kb。
curl -X DELETE http://admin:secretpassword@localhost:5984/testdb
文件大小没有变化。即使我这样做 过滤后的复制品 数据库(过滤掉已删除的文档)或手动触发 压实,磁盘文件大小不会减少。
现在真正令人困惑的是,Fauxton实际上在这些操作之后显示减少的数据库大小,但它从未反映在所使用的物理磁盘空间中。
全新安装后,我正在使用几乎标准的配置。
这是“像预期的那样工作”或者这里有什么不对吗?
更重要的是:我能做些什么吗?
它按预期工作,你只是没有查看正确的文件。
每个数据库都有相同名称的相应文件。
例如:
curl -X PUT http://admin:secretpassword@localhost:5984/testdb
curl -X PUT http://admin:secretpassword@localhost:5984/emaildb
- 由于您有一个_dbs.couch文件,因此您可能正在使用具有分片功能的CouchDB 2.X.X。
它将在“shards”文件夹的子文件夹中创建多个文件。
data/
+-- shards/
| +-- 00000000-7fffffff/
| | -- emaildb.124456678.couch
| | -- testdb.647948447.couch
| +-- 80000000-ffffffff/
| | -- emaildb.124456678.couch
|___|____-- testdb.647948447.couch
更多信息: http://docs.couchdb.org/en/latest/cluster/sharding.html