
Иллюстрация распределений 375
... var server = explain.shards[i][0];
... if (server.n == 1) {
... if (server.server in servers) {
... servers[server.server]++;
... } else {
... servers[server.server] = 1;
... }
... }
... }
... }
> for (var i = 0; i < 10000; i++) {
... var id = ObjectId();
... db.random.insert({ "_id": id, "x": Math.random() });
... ndShard(id);
... }
> servers {
"spock:30001": 2942,
"spock:30002": 4332,
"spock:30000": 2726
}
Поскольку записи распределяются случайным образом, шарды должны
расти примерно с той же скоростью, что ограничивает число миграций,
которые должны произойти.
Единственный недостаток таких ключей – это то, что MongoDB ...