Spring RESTful веб-сервисы - обработка больших объемов данных

Я пытаюсь создать Spring / Spring Boot-RESTful веб-сервис,

Который принимает CSV-файл с 1 миллионом строк / 40 столбцов в каждой строке в качестве входных данных (из внешнего интерфейса на основе Angular) и будет синхронным вызовом. Пользователь должен быть уведомлен о статусе загрузки перед переходом на другие экраны. Таким образом, время ожидания не может превышать нескольких минут (скажем, 5 минут).

Каждая из этих строк должна быть проверена на соответствие тому, что находится в БД, и если она будет признана действительной, она будет вставлена ​​в БД. Короче говоря, каждая строка может быть отдельной независимой транзакцией.

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

Текущая унаследованная система реализует ту же функциональность в хранимых процедурах, что сделало решение тесно связанным с БД, что будет проблемой, если СУБД необходимо будет изменить в дальнейшем.

Любой подход к обработке этих 1 миллиона данных в кусках (скажем, 20 КБ) в асинхронных вызовах веб-службы?

Весенняя партия?

Может ли хранимая процедура быть более подходящей и более эффективной, чем две вышеупомянутые опции, случайно?

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

Ответы на вопрос(1)

Ваш ответ на вопрос