如何在没有修复的情况下释放MongoDB上的磁盘空间

时间:2016-03-26 19:24:23

标签: mongodb disk

我有一个24TB数据的mongoDB,它几乎没有空间(剩下的数量略少于0.7TB)。

我尝试删除了很多记录,但这似乎没有帮助。磁盘上没有数据被释放(我理解这是正常的),但我至少要求Mongo在释放的空间上写入新数据,而不是继续消耗新的磁盘空间。

我最大的收藏(占用超过19TB)的当前统计数据是:

{
    "count" : 19165555853,
    "size" : NumberLong("18762737940528"),
    "avgObjSize" : 978.9821951650337,
    "storageSize" : NumberLong("19157960069792"),
    "numExtents" : 8945,
    "nindexes" : 3,
    "lastExtentSize" : 2146426864,
    "paddingFactor" : 1.0000000000008387,
    "systemFlags" : 1,
    "userFlags" : 0,
    "totalIndexSize" : NumberLong("5760211476544"),
    "indexSizes" : {
            "_id_" : NumberLong("2696098227536"),
            "a_1_m_1__t_1" : 1096589803344,
            "a_1_ui_1__t_1" : NumberLong("1967523445664")
    },
    "ok" : 1
}

我的问题是:

  • Mongo应该写在已删除记录释放的空间上,还是继续使用新空间?
  • 我可以运行修复数据库,还是需要更多可用空间?
  • 我可以运行紧凑型并且它会有所帮助(填充因子几乎是1.0)?运行紧凑需要多少可用空间?
  • 我还有什么办法可以腾出更多时间或腾出空间吗?

谢谢,

盎司

0 个答案:

没有答案