Как вставить в MongoDB большой объем данных (около 1 миллиона записей) за минуту? - PullRequest
0 голосов
/ 12 июля 2020

Я хочу вставить около 1 миллиона записей в минуту в базу данных MongoDB на одном сервере. Имею индекс на 6 полей. Когда база данных была пустой, я мог быстро вставить данные в мою коллекцию менее чем за минуту (используя массовую вставку и многопроцессорную обработку). Однако по мере увеличения размера собираемых данных скорость вставки сильно снижалась. Есть ли идеи, как мне обрабатывать такую ​​вставку данных? (мои данные об изменении цен) Спасибо

Ответы [ 2 ]

2 голосов
/ 12 июля 2020
• 1000 Операции вставки и обновления, как и при каждой операции вставки и обновления, эти измененные записи также необходимо добавить в структуру данных индекса.
0 голосов
/ 12 июля 2020

Выясните, в чем ваше узкое место, и устраните его.

Ограничен ли ЦП сервера или диск? Увеличьте скорость процессора или добавьте IOPS на диск.

Какая часть времени используется для записи индекса? Удалите все индексы и измерьте скорость вставки при текущем размере данных, затем добавьте по одному индексу, измеряя скорость вставки при каждом добавлении индекса.

Скорость вставки уменьшается линейно с ростом размера набора данных? Быстрее или медленнее?

MongoDB предоставляет множество статистических данных по серверам, просматривает их и определяет те, которые имеют отношение к пропускной способности, и посмотрите, заметите ли вы какие-либо закономерности.

...