Существует ли размер пакета по умолчанию, который используется MongoDB в Bulk API? - PullRequest
0 голосов
/ 14 ноября 2018

Я новичок в MongoDB, и у меня возник этот вопрос, потому что я прочитал по следующей ссылке: « Как улучшить массовую производительность MongoDB? », что MongoDB внутренне разбивает список на 1000 операций за раз,Однако я не смог найти эту информацию в документации MongoDB.

Означает ли это, что когда я вставляю 50 000 документов в коллекцию MongoDB с помощью Bulk API, MongoDB внутренне разбивает список на партии по 1000 и выполняетмассовая операция вставки 50 раз?Если да, достигну ли я той же производительности, если разбить список из 50 000 документов на подсписки из 1000 документов и использовать операцию массовой вставки в цикле for?Какой подход лучше?

Пожалуйста, помогите мне понять.

Спасибо.

1 Ответ

0 голосов
/ 14 ноября 2018

Да, если вы вставляете 50 000 документов в коллекцию MongoDB с помощью Bulk API, mongo разбивает ее до 1000 операций при макс.В идеале вы должны делать партии по 1000 штук самостоятельно и делать вставки, но в этом случае это не будет иметь никакого значения, потому что данные уже находятся в памяти.Вы не должны принимать этот огромный объем данных в одном запросе в готовой к работе системе.Клиент должен иметь возможность отправлять небольшие порции данных, чтобы вы могли хранить их в очереди на сервере и обрабатывать в фоновом режиме (какой-то другой поток).

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