Обработка миллионов записей с использованием Spring Bach, включая Pattern Matching

Мой вариант использования выглядит следующим образом:

1) Считайте 20 миллионов записей из базы данных Db2 и прочитайте критерии фильтрации из Db2, где он связан с несколькими столбцами, а в некоторых столбцах есть шаблоны типа столбца A со значением%EMP%. 2) Теперь для каждой комбинации правил отфильтруйте данные в 20 M наборе данных и одновременно обновите столбец базы данных, у которого есть флаг, указывающий, что эта запись отфильтрована. 3) В конце процесса мы запустим рабочий процесс Informatica, который возьмет нефильтрованные записи в течение 20 М и обработает их.

Мы не хотим иметь логику фильтрации в Informatica, так как это будет дорого, поэтому ищем вариант сделать это с помощью Spring Batch, где мы можем охватить несколько потоков и запустить логику фильтрации.

Я не уверен, является ли Spring Batch подходящим кандидатом для этого. Но мне нужны некоторые предложения, если мне нужно реализовать это на Java.

Пожалуйста, предложите

1 ответ

Вы должны рассмотреть возможность использования маршрутов Camel и Spring Boot.

Вы можете использовать потребителя Camel JPA для помещения записей в очередь ActiveMQ. Используйте пользователя JMS с несколькими пользователями для обработки записей.

Используйте стратегию агрегации для вызова вашей Informatica.

Я не использовал Spring Batch, поэтому я не могу сказать, является ли это лучшим решением, но Spring Boot и Camel довольно милые.

Другие вопросы по тегам