нашел прекрасное руководство как все сделать шапрдинг (что-то подобное было даже на Хабре),
gliffer.ru/articles/nosql--sharding-mongodb-na-paltsah/
www.mongodb.org/display/DOCS/Sharding
blog.zawodny.com/2011/03/06/mongodb-pre-splitting-for-faster-data-loading-and-importing/
но есть несколько вопросов осталось за кадром:
1) я как понял — вторичные ключи могут быть ключами шардинга, т.е.ключ шардинга не обязан быть уникальным,
например шардить данные по регионам / странам / городам
2) если мы расшардили данные, то через какое-то время решили доставить физических серваков, то можно перестроить конфиг, переконфигурировать шарды. Это понятно, Но могу ли я добавить новые монго-д инстансы таким образом, чтоб не потерять данные?
Пример: шардим по первой букве алфавита:
server 1 A-E
server 2 E-Л
server 3 Л-М
server 4 М-P
server 5 Р-Я
и тут оказывается, тчо сервер 4 начинает переполняться и приходится его делить пополам:
server 4 М-О
server 6 О-P
как в этом случае будут перемещаться данные, которые были ранее размещены на сервере 4, но теперь должны входть в состав сервера 6?