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
Как обрабатывать ошибки в обработке партии во время инкрементной синхронизации данных (Oracle → Kafka → DB)? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение