不停機下,mongodb資料庫碎片如何整理?
習慣沉默
習慣沉默 2017-05-02 09:22:51
0
1
660

我將mongo裡面大量多餘的資料都刪除後,發現記憶體和檔案並沒有收縮,仍然佔用大量記憶體和硬碟,效能變化不大,請問,mongodb怎麼進行碎片整理?

習慣沉默
習慣沉默

全部回覆 (1)
洪涛

什麼版本的MongoDB,什麼引擎?
3.2以上的WT引擎可以使用Compact來釋放空間,先前的版本無論是WT或MMAPv1都只能透過重新同步複製集的方式釋放空間。
問題是,生產環境一般來說沒有必要釋放,因為早晚還會佔回來,而且空閒的空間反正也會重用,如果不是真的缺那點空間,就別去釋放了。
至於是不是停機的問題,不止是這個問題,大部分時候都應該考慮複製集來解決,多個結點並行運行就是為了不停機準備的,拿掉一個下來做維護不會有多大的問題,拿主結點的時候可能會有幾秒鐘不可寫而已。

理論上說回收磁碟空間對效能不會有任何有益的影響。但在3.0.6和3.0.7所使用的WiredTiger引擎上發生過一個bug,在大量刪除文件時BTree會有錯誤的平衡從而導致效能嚴重下降。詳細情況請參考JIRA Ticket SERVER-21063。

    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!