是在阿里云私有化部署的。在 19 号一天删除了 120 多万行数据,并清理了回收站,但是数据盘数据大小在我清理前后并没有发生变化,都是保持在 510G.想问一下这个数据清理是需要在服务器手动删除吗?
mj4ever 2023-11-28 18:20:28可能会有以下几方面需要确认下,我也不是特别确定,是根据以往的经验来推断:
一、是由于 MongoDB 的预分配机制导致
MongoDB 使用一种称为预分配的机制,它会预先分配一定大小的空间以供写入,这样可以避免频繁的磁盘分配操作,提高写入性能。因此,即使删除了数据,预分配的空间也可能不会立即释放。
如果你希望释放这些空间,可以考虑使用compact
命令来触发数据库的压缩操作,或者使用reIndex
命令来重新索引数据库,这些操作可能会释放一些空间。另外,如果你不再需要这些空间,还可以考虑备份当前数据,然后删除数据库并重新创建,这样可以获得最大的存储空间。二、除了业务表外,还有一些表,比如,工作流执行记录、日志记录等,这些表业占用了一些数据,如果你删除的 120 万数据不会涉及大量的上述信息,那么可以忽略这一项
谢谢,已解决。手动删除日志文件就好了。
https://docs.pd.mingdao.com/optimize/mongodb/clean/appData
可以看下这一篇,看看是否有帮助。
可能会有以下几方面需要确认下,我也不是特别确定,是根据以往的经验来推断:
一、是由于 MongoDB 的预分配机制导致
MongoDB 使用一种称为预分配的机制,它会预先分配一定大小的空间以供写入,这样可以避免频繁的磁盘分配操作,提高写入性能。因此,即使删除了数据,预分配的空间也可能不会立即释放。
如果你希望释放这些空间,可以考虑使用 compact
命令来触发数据库的压缩操作,或者使用 reIndex
命令来重新索引数据库,这些操作可能会释放一些空间。另外,如果你不再需要这些空间,还可以考虑备份当前数据,然后删除数据库并重新创建,这样可以获得最大的存储空间。
二、除了业务表外,还有一些表,比如,工作流执行记录、日志记录等,这些表业占用了一些数据,如果你删除的 120 万数据不会涉及大量的上述信息,那么可以忽略这一项
看说明书