2010-11-19 3 views
3

Как я восстановить баланс данных MongoDB после добавления нового осколкакак сбалансировать MongoDB после добавления осколка

Я не думаю, что он делает это автоматически?

Я ничего не нашел, это поддержка для этого?

Также ключ для моих осколков является уникальным

Спасибо,

ответ

6

При добавлении нового осколка, MongoDB должен автоматически начать заново балансировку данных в соответствии с вашим ключом шарда.

Однако он не начнет балансировку до тех пор, пока не будет определен определенный объем данных. Поэтому, если у вас мало данных, вы, вероятно, не увидите перебалансировки.

Если у вас есть много данных и добавить осколок и он никогда не начнет перенос данных, то пришло время идти в группу Google и начать задавать вопросы. В его нынешнем виде многие люди используют авто-осколки, и это, безусловно, автоматически перебалансируется.

Я не говорю, что вы не нашли ошибку, просто вам понадобится намного больше данных, чтобы поддержать это.

+0

Вы были правы, мне пришлось немного подождать. Я получил rebalanced спасибо, – Federico

+0

Как долго ждать? У меня есть> 80 ГБ в этой коллекции, и это было около часа ... –

+0

Если у вас есть 80 ГБ данных, тогда система должна будет * переместить * ~ 40 ГБ данных, чтобы сбалансировать осколки. На полной скорости серверный жесткий диск может перемещаться примерно на 0,6 ГБ/мин, так что это не менее часа. Но вы также, вероятно, используете диск для других вещей, поэтому ожидайте хотя бы несколько часов. –