Как обрабатывать ошибки в обработке партии во время инкрементной синхронизации данных (Oracle → Kafka → DB)?JAVA

Программисты JAVA общаются здесь
Anonymous
Как обрабатывать ошибки в обработке партии во время инкрементной синхронизации данных (Oracle → Kafka → DB)?

Сообщение Anonymous »

I'm implementing an incremental data synchronization pipeline:
1.
Oracle → Kafka (using OGG)
2.
Kafka → Internal DB (using a custom consumer with Spring Cloud Stream)
The messages contain INSERT, UPDATE, and DELETE operations. Моя текущая реализация обрабатывает сообщения один за другим, но производительность недостаточна. I want to introduce batch processing to improve throughput.
​​Problem​​: When processing in batches, some SQL statements may fail due to:

Unique constraint violations (some tables have two unique indexes)

Inconsistent states between upstream and downstream when the program starts
Текущий подход: < /p>

Обработка единого сообщения с подробным журналом ошибок < /p>

Ручное вмешательство, необходимое для сбоев < /p>
То, что я пробовал: < /p>

simple batch execution (all-our-nothing)-ошибка. /> •
Попытка определить проблемы с проблематичными записями, но сложные с смешанными типами операций < /p>
Требования: < /p>
1.
Не хочу регистрировать целые партии для ручной обработки (высокие операции по сбору) Механизмы, где это возможно, < /p>
Вопросы: < /p>
1.
Что такое общие шаблоны для обработки частичных сбоев в синхронизации базы данных пакетной базы? /> •
Zisolates и обрабатывает ошибки соответствующим образом < /p>

минимизирует ручное вмешательство < /p>
33.
Есть ли с шаблонами облачного потока пружины или функции кафки, которые могут помочь здесь? /> •
Spring Cloud Stream < /p>

kafka < /p>

oracle & internal db (собственность) < /p>

Подробнее здесь: https://stackoverflow.com/questions/797 ... ronization

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