微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 CouchDB 数据库中清除所有非当前数据的推荐程序是什么?

如何解决从 CouchDB 数据库中清除所有非当前数据的推荐程序是什么?

假设我有一个包含 100 条记录的数据库,每条记录有 1000 次修订,另外还有 100,000 个删除的文档,每个文档都有广泛的修订历史。此外,我们还有一个视图文档和一些芒果索引。

对于这种假设情况,我们假设我无法删除和重建数据库。复制安全也不是问题。

如果我需要创建某种脚本,利用 curl 来清除数据库中所有未使用的数据,以便运行此脚本的结果与删除和重建数据库完全相同,只有 100 条记录,并且只有一个修订版-file,我该怎么做?

解决方法

对于您假设的情况,您可以执行以下操作:

  1. 备份 100 个所需文件
  2. 删除数据库中的所有文档
  3. 使用 Purge API 删除修订历史
  4. 重新创建 100 个所需文件

在现实场景中节省磁盘空间和 BTree 大小的更安全方法是:

  1. 正确配置 CouchDB 的 compaction settings 以不包含太多修订
  2. 仅清除以后不再修改的文档。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。