Spring Batch: как БЫСТРО ВСТАВИТЬ В ТАБЛИЦУ 1 миллион сообщений от KafkaJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Spring Batch: как БЫСТРО ВСТАВИТЬ В ТАБЛИЦУ 1 миллион сообщений от Kafka

Сообщение Anonymous »

Я пишу вам это сообщение, потому что немного растерян и не знаю, как решить свою проблему.
Контекст
  • SimpleJob(SingleThread) в Spring Batch, который обрабатывает 1 миллион сообщений из темы (внутренний доверенный источник) каждое утро в 7 утра
  • и вставляет их (по одному) one) в промежуточную таблицу (A)
  • Затем считывает строки из A частями по 1000 строк и вставляет эти строки (одну за другой) в целевую таблицу B
Технологии
JAVA 17, Spring Batch, MySQL
ПроблемаНа выполнение работы уходит 23 часа. Мне бы хотелось сократить время до менее 2 часов.
Предложения по улучшению
  • Удаление промежуточной таблицы : позволит использовать SELECT/INSERT меньше 1 миллиона. Я спросил бывших разработчиков, есть ли причины поддерживать эту таблицу (не используемую где-либо еще).
  • ИСПОЛЬЗОВАНИЕ МАССОВОЙ ВСТАВКИ: я читал, что это поможет повысить производительность.
    Увеличить размер фрагмента (интервал фиксации): фрагмент из 1000 швов слишком мал, поэтому нужно больше SELECT/INSERT. Размер фрагмента необходим, чтобы избежать ошибок OutOfMemory Java Heap Space. Но я не знаю, как определить правильный размер фрагмента, кроме случайного тестирования значений
Вопросы
  • Видите ли вы веские причины для использования промежуточной таблицы в этом случае?
  • Вы знаете, как мне определить правильный размер фрагмента?

    Существуют ли какие-либо стандарты в отношении значений?
  • Могу ли я пробовать случайные значения только до тех пор, пока оно не завершится в приемлемое время?
[*]Как вы думаете, можно ли попробовать секционированное задание? / Многопоточные задания могут быть полезны в моем случае? Или это будет излишним?
  • Поскольку все потоки будут писать в одну и ту же базу данных (возможное узкое место?)< /li>

Заранее большое спасибо за помощь!

Подробнее здесь: https://stackoverflow.com/questions/790 ... from-kafka
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»