jstarek Asked: 2021-10-23 03:45:29 +0800 CST2021-10-23 03:45:29 +0800 CST 2021-10-23 03:45:29 +0800 CST 删除后是否需要压缩 OrientDB? 772 在使用 OrientDB 实例作为数据库后端的 Sonatype Nexus 存储库服务器上,我们观察到数据库稳定增长,尽管存储库内容经常被删除。 我们预计数据库大小会(至少偶尔)缩小并总体保持大致相同的大小。 OrientDB 如何处理删除?有没有办法检查数据库是否包含过时的信息,是否有必要/可能定期“清除”或“压缩”OrientDB? nosql orientdb 1 个回答 Voted Best Answer jstarek 2021-10-29T06:01:56+08:002021-10-29T06:01:56+08:00 事实证明,OrientDB 数据库似乎确实受益于定期压缩操作,在这种情况下,是导出和重新导入。 OrientDB 磁盘存储引擎的官方文档状态(强调我的): 删除记录时,页面索引和记录位置设置为 -1。所以记录指针就变成了“墓碑”。您可以将记录 id 想象成 uuid。它是独一无二的,从不重复使用。 通常,当您删除记录时,您会丢失非常少量的磁盘空间。这可以通过执行数据库导出/导入定期“离线压缩”来缓解。在此过程中,簇位置将被更改(导出时将忽略墓碑)并恢复丢失的空间。 正如这个 SO q&a所建议的那样,尽管正在进行大量删除,但其他用户观察到数据库的单调增长——这种机制可以解释这种观察。
事实证明,OrientDB 数据库似乎确实受益于定期压缩操作,在这种情况下,是导出和重新导入。
OrientDB 磁盘存储引擎的官方文档状态(强调我的):
正如这个 SO q&a所建议的那样,尽管正在进行大量删除,但其他用户观察到数据库的单调增长——这种机制可以解释这种观察。