場景:
由于磁盘空间不足,要替换mongoDB工作目录所在的硬盘, 其中有个db的数据差不多150G大小,现在新增了个硬盘, 新增节点从primary节点初始化同步完成后,该db的大小只有差不多70G, 看了下里面每个collection的count总数不变。
疑問:
这一个同步后,数据容量为什么会相差这么多呢? 这种全量的初始化同步方式,是会有数据压缩什么的吗? 看了文档,找了好久没找到相关信息。跪求!!!
因為有資料被刪除了唄。像是資料庫這種東西,都不會在資料刪除時自動減少檔案大小的——因為這是極其昂貴的操作,需要重寫整個檔案。
不過還好啦,雖然 MongoDB 不是 PostgreSQL,沒有自動整理,不過 MongoDB 也不是 MySQL,連手動整理都不可能。你試試 compact 指令,不行就試試 repair。我以前弄過的,現在忘了。
因為有資料被刪除了唄。像是資料庫這種東西,都不會在資料刪除時自動減少檔案大小的——因為這是極其昂貴的操作,需要重寫整個檔案。
不過還好啦,雖然 MongoDB 不是 PostgreSQL,沒有自動整理,不過 MongoDB 也不是 MySQL,連手動整理都不可能。你試試 compact 指令,不行就試試 repair。我以前弄過的,現在忘了。