0
我最近已經開始了,有一個大的MongoDB實例的公司工作大。所選擇的文檔密鑰存在一些問題,特別是單個文檔可能會一直持續增長。經過數百萬次更改後,單個文檔可以達到130MB +。MongoDB中如何遷移塊如果塊只中有一個文檔,並超出了最大塊大小
我們正在使用的MongoDB 2.2.1。我試圖做的是修復平衡,因爲平衡器處於試圖遷移一些大塊的循環中。它失敗,因爲塊大小大於默認的最大允許塊大小(64MB)。該塊也可以不分割,因爲它包含單個文檔。
真正的解決方法是更改文檔密鑰(創建一個新的數據庫實例,並遷移到它),但是這將需要相當一段時間做,我想提出在短期內修復,以幫助平衡。我唯一能想到的是將默認塊大小從64MB增加到160MB,這樣我們的一些大塊可以遷移。
我的問題是,是它更好地:
- 增加最大塊大小160MB,手動移動數據塊,然後減小max塊大小。 (此時大文檔ID將回到不可遷移的狀態)。
- 永久性地將最大塊大小增加到160MB,並將其留在那裏,直到我們可以遷移到新的密鑰。 (這是我的理解,增加塊大小可以有一些非常激烈的IO影響)
- 別的東西嗎?
我完全樂意把它留它在哪裏...... mongos平衡要移動它。 :) 有沒有辦法告訴平衡器跳過特定的分片鍵? – dtorgo
不,我不這麼認爲,但令我感到驚訝的是,它不僅僅是移動其他塊。 – Derick