场景:
由于磁盘空间不足,要替换mongoDB工作目录所在的硬盘, 其中有个db的数据差不多150G大小,现在新增了个硬盘, 新增节点从primary节点初始化同步完成后,该db的大小只有差不多70G, 看了下里面每个collection的count总数不变。
疑问:
这一个同步后,数据容量为什么会相差这么多呢? 这种全量的初始化同步方式,是会有数据压缩什么的吗? 看了文档,找了好久没找到相关信息。跪求!!!
因为有数据被删除了呗。像数据库这种东西,都不会在数据被删除时自动减小文件大小的——因为这是极其昂贵的操作,需要重写整个文件。
不过还好啦,虽然 MongoDB 不是 PostgreSQL,没有自动整理,不过 MongoDB 也不是 MySQL,连手动整理都不可能。你试试 compact 命令,不行就试试 repair。我以前弄过的,现在忘记了。
因为有数据被删除了呗。像数据库这种东西,都不会在数据被删除时自动减小文件大小的——因为这是极其昂贵的操作,需要重写整个文件。
不过还好啦,虽然 MongoDB 不是 PostgreSQL,没有自动整理,不过 MongoDB 也不是 MySQL,连手动整理都不可能。你试试 compact 命令,不行就试试 repair。我以前弄过的,现在忘记了。