MongoDb - помогает ли производительность, если все документы insertMany записываются в один шард? - PullRequest
0 голосов
/ 05 августа 2020

У меня очень большая коллекция, разделенная на hashed(user_id).

У меня есть сценарий, который извлекает файл, содержащий тысячи JSON строк, каждая из которых является отдельным документом, и записывает их в сбор через insertMany(ordered: false)

Я имею дело с очень большими объемами данных и все еще сталкиваюсь с проблемами использования ЦП и более медленной, чем желательно, скоростью записи.

Я знаю, что Mon go предлагает до предварительно разделенных фрагментов, но только для пустой коллекции , и, конечно же, наши будут заполнены после начальной загрузки.

  • Помогло бы повысить производительность, если бы мы предварительно " сгруппировали "документы в группу с ключом user_id, а затем выполнили insertMany со всеми документами, имеющими одинаковый user_id, поскольку все они go будут относиться к одному и тому же сегменту, а не смешиваться вместе? Или Mon go все еще нужно проверять и «вручную» балансировать каждый отдельный документ в insertMany, даже если все они имеют одинаковые user_id?
...