InsertBatch в Sharding - PullRequest
       3

InsertBatch в Sharding

2 голосов
/ 23 февраля 2012

Что на самом деле происходит за сценой с большой InsertBatch, если кто-то пишет в кластер? Поддерживает ли MongoDb массовая вставка или InserBatch фактически вставляет по одному в уровень сервера? Как это работает с шардингом тогда? Является ли это означает, что Mongos будет смотреть на каждый элемент в партии, чтобы выяснить, что такое ключ осколка каждого предмета, а затем направит его вправо сервер? Это сломает массовую вставку, если она существует и, кажется, не быть эффективным. Какова механика InsertBatch для шардинга решение? Я использую версию 2.0 и хочу обновить, если это что-то меняет

1 Ответ

3 голосов
/ 23 февраля 2012

Массовые вставки являются реальной функцией MongoDB и (несколько) более производительны, чем отдельные вставки для документа из-за меньшего количества циклических переходов.

В защищенной среде, если монгос получает массовую вставку, он выяснит, какая часть объема должна быть отправлена ​​в какой осколок. Между 2.0 и 2.1 нет различий, и это наиболее эффективный способ массовой вставки данных в зашифрованную базу данных.

Если вам интересно, как именно работает mongos, посмотрите его исходный код здесь:

https://github.com/mongodb/mongo/tree/master/src/mongo/s

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...