按需ArangoDB压缩的最佳实践,用于文件空间回收

时间:2018-09-19 13:44:01

标签: database-administration arangodb

我对ArangoDB进行评估的一部分包括将一些超过1M行的CSV文件导入到暂存区域,然后删除结果集合或数据库。我将在我设想的生产过程中重复执行此操作。

我了解ArangoDB服务会在此页面上定期调用压缩:

https://docs.arangodb.com/3.3/Manual/Administration/Configuration/Compaction.html

删除数据库后,我等待了24小时以上,并且没有回收任何磁盘空间,因此我不确定此自动化过程是否正常工作。

我想回答以下问题:

  1. 上面链接中显示的自动压实参数的默认值是什么?

  2. 除了观察文件空间的变化以外,我怎么知道压缩有效?是一个日志文件或其他位置可以指示这一点吗?

  3. 如何按需执行压缩?我发现讨论该功能的所有参考资料都表明这是不可能的,但是它们来自几年前,我希望已添加此功能。

谢谢!

1 个答案:

答案 0 :(得分:0)

GET路线/_api/collection/{collection-name}/figures在属性compactionStatus中包含一个子属性figures,其中最后一个压缩的timemessage调试目的。您可能会对响应中的其他信息感兴趣。请查看doCompact是否设置为true。 https://docs.arangodb.com/3.3/HTTP/Collection/Getting.html#return-statistics-for-a-collection

您可以运行arangod --help-compaction来查看压缩的启动选项,包括默认值。此信息也可以在3.4文档中在线获得: https://docs.arangodb.com/3.4/Manual/Programs/Arangod/Options.html#compaction-options

PUT路线/_api/collection/{collection-name}/rotate,直接引用了文档:

  

旋转收藏的日记。目前的期刊   集合将关闭,并成为只读数据文件。目的   旋转方法的目的是使文件中的数据可用于   压缩(仅对只读数据文件执行压缩,并且   不适用于期刊)

     

如果当前没有日志,则随后在集合中保存新数据将自动创建一个新的日志文件。

https://docs.arangodb.com/3.3/HTTP/Collection/Modifying.html#rotate-journal-of-a-collection