Монгодб кластер - импортирует миллиарды записей
Я пытаюсь импортировать 10 миллиардов записей. Началось тестирование с импортом 1 миллиарда записей. Время импорта ухудшается по мере вставки записей. Вот конфигурации и статистика.
Mongo db version - 3.4
Documents - 1226592923
Routers(m4.xlarge) 2
Config 3
Nodes(i3.large,15GB nvme ssd) Import time(hrs)
5 14:30:00
10 8:10:00
Каждый документ имеет около 7 полей. Шард ключ на 3 поля. Выполнены все рекомендации по адресу https://docs.mongodb.com/v3.4/reference/ulimit/.
Варианты импорта
--writeConcern '{ w: 0, j: false }'
--numInsertionWorkers 8
Даже попробовал отключить журнал (--nojournal
), но особой разницы нет.
Не уверен, что это ожидаемое время импорта. Или я могу сделать что-нибудь еще, чтобы улучшить скорость приема пищи?
1 ответ
Вот некоторые из факторов, которые сделали много улучшений в импорте
- Предварительное расщепление
- Сортировка данных
- Отключение балансировщика
sh.stopBalancer()
- Отключение автоматического разделения во время загрузки (
sh.disableAutoSplit()
или перезапуститеmongos
без--noAutoSplit
) - Индексирование после загрузки полных данных
Рекомендации: