2016-05-30 4 views
0

Насколько я понимаю, коэффициент усиления между регулярными вставками и bulk inserts.Несколько вкладышей в MongoDB - Производительность

Мой вопрос в том, что лучше всего выполнять несколько операций с массой, где каждая операция вставляет хорошее количество (мин. 15000) записей. Или есть ли лучший способ сделать это?

ответ

0

Я не уверен, понимаю ли я конкретную проблему хорошо, но в общих чертах я хотел бы сделать это следующим образом:

  • Я бы определить условия для максимального количества строк, которые будут вставлены
  • я бы определить условия для максимального времени, чтобы иметь возможность пройти, прежде чем запланированная строка вставляется
  • я бы нить с очередью записей Params быть вставлен
  • всякий раз, когда новая строка необходима, чтобы вставить Я бы добавил его в очередь
  • всякий раз, когда строка добавляется в очередь, если количество строк достигает максимального количества строк, я бы выдал объемную вставку и очистил очередь
  • , когда очередь инициализирована/очищена. Я установил бы таймер на 0
  • когда время истекло достигает максимального времени, определенного в настройке, я бы выполнить объемную вставку и очистит очередь
+0

Ваш подход, по существу, для последовательного насыпной-вставки (один за другим). Мой вопрос заключается в нескольких вставках, которые поступают из разных частей приложения (разные болты - штормовой путь). Как дорого стоит сделать, скажем, 30 объемных вставок, где каждая вставка вставки обрабатывает минимум 15 тыс. Записей? –

+0

@KavithaMadhavaraj, мое предложение состоит в том, чтобы использовать отдельный поток для объемных вставок, поэтому вы можете запускать по одному. Вы можете запускать его асинхронно. Что касается вопроса в вашем комментарии, на самом деле это зависит от вашей текущей ситуации. Как вы собираете данные, сколько столбцов имеет целевая таблица, сколько запросов на выбор выполняется в среднем и какова их сложность. Вам также нужно избегать наводнения сервера, лучше подождать некоторое время, чем сбой сервера ... –

+0

Выполнять одно вставку в один раз за раз? В этом есть смысл. –

Смежные вопросы