【问题标题】:CouchDB taking lot of space due to revisions由于修订,CouchDB 占用了大量空间
【发布时间】:2019-08-20 03:23:06
【问题描述】:

我们有一个项目涉及在移动设备中与 pouchdb 进行数据库同步。我们在更新多个文档(每分钟 8400 个文档)、内部存储增加(大约每分钟 20MB)频率时遇到了问题。 我们发现了 couchdb 修订的一个主要原因。所以我们决定将数据库 rev_limit 降低到 5 左右。但我们听说这可能会影响 couchdb 和 pouchdb 之间的复制过程。我的第一个问题是 修订限制的降低对复制过程有何影响?

我们发现视图占用的空间比普通文档存储要多。我的第二个问题,有什么办法可以减少 couchdb 视图大小?

【问题讨论】:

  • 你试过运行compaction了吗?这是为了消除旧版本占用的额外磁盘空间。
  • 是的。它减少了大约一半的空间。但与 MySQL 等传统数据库相比,它仍然占用了大量空间。

标签: couchdb


【解决方案1】:

您的数据模型(快速更新)无法发挥 CouchDB 的优势。即使在压缩之后,旧版本(包括墓碑)也会占用空间。当使用小的、不可变的文档时,CouchDB 是最快乐的。这样的模型也不太可能出现更新冲突。

查看您的文档 - 是否可以将它们拆分,以便将更新更改为新的文档写入?典型的指标是随时间在文档中增长的嵌套对象或数组。

【讨论】:

  • 如果为数据库设置了 _revs_limit,那么在压缩时该限制也适用于墓碑(根据文档)
猜你喜欢
  • 2015-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多