Обработка миллионов записей с использованием 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 довольно милые.