CDC — подход для определения и отслеживания данных, которые изменились, чтобы можно было предпринять действия с использованием изменённых данных.
Use-case’ы
• Стриминг изменений в хранилище данных.
• Постобработка событий.
• Расчёт «онлайн»-аналитики.
• Логическая репликация.

Плюсы
Есть везде
• MySQL
• Oracle
• Cassandra
• PostgreSQL
• Microsoft SQL Server
CDC в Apache Ignite
• Отдельный процесс.
• Обрабатываем архивные WAL-сегменты.
• Нет перерасхода места на диске.
• Сохраняется состояние чтения. При восстановлении читаем с
места последнего commit’а.
• Нужен рестарт при падении средствами OS.
• public API для получения событий изменений данных. Можно
написать собственный event consumer.
Conflict resolver
1. Работает на каждое изменение в cache’е.
2. Определяет, какую entry использовать – new, old, merge.
3. public API, можно написать свой.
4. Есть реализация по умолчанию.
Conflict resolver #2
1. Локальное изменение всегда выигрывает.
2. Изменения с одного кластера сравниваются по внутренней
версии.
3. Сравниваются значения пользовательского comparable поля (если указано).
4. Изменение отбрасывается.