Как распространять GridFS fs.chunks в общем кластере MongoDB - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть кластер MongoDB с десятью фрагментами. Я сделал массовую загрузку в этот кластер около десяти дней go, и в GridFS он содержит довольно значительный объем данных. Согласно документации , я создал индекс шарда для { files_id : 1, n : 1 }.

. Как видно на графике c ниже, распределение данных в шардах очень неравномерно. Балансировщик включен, но все равно выглядит так. (Это просто график выходных данных db.fs.chunks.getShardDistribution().)

Как заставить это восстановить баланс? Удалить шард с9? Могу ли я разделить вручную фрагменты ? Я не вижу никаких "гигантских" осколков, перечисленных в sh.status(true).

Также - Как я могу предотвратить это в будущем с индексом, перечисленным в документации?

shard distribution

1 Ответ

0 голосов
/ 21 апреля 2020

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

...