На первый взгляд CDC выглядит просто: взять журнал транзакций, разобрать его, и передать в получатель.
Но есть несколько вопросов, на которые требуется получит чёткий ответ:
- Что произойдёт, если канал оборвётся после передачи части операций?
- Какие записи уже применены?
- Какие нужно повторить?
- Как не получить дубль?
- Можно ли применить UPDATE раньше связанного INSERT?
- Что делать с незакоммиченной транзакцией?
- Что произойдёт, если разработчик приложения добавил колонку в исходную таблицу?
Поэтому промышленная репликация – это не только парсер журнала. И они детально реализованы в Датафлот Репликации.
1. Транзакционная согласованность
Датафлот передаёт только зафиксированные транзакции и поддерживает транзакционную целостность данных.
Для банка это принципиально. Нельзя получить в аналитическом или оперативном контуре половину логически связанной транзакции только потому, что отдельные строки технически успели измениться.
2. Гарантированная доставка и восстановление после сбояДатафлот использует механизм контрольных точек: система фиксирует, какие данные уже были обработаны парсером и какие изменения загрузчик применил в приёмнике с подтверждённым COMMIT. Это используется для восстановления после сбоя и предотвращения потерь или неконтролируемого дублирования операций.
Именно это отличает промышленный конвейер от простого механизма «прочитать изменения и отправить дальше».
3. DDL-измененияОперационная система развивается.
Появляются таблицы, добавляются или удаляются колонки, меняется структура данных.
Если NRT-конвейер не знает об изменении схемы, он может остановиться именно в тот момент, когда исходное приложение штатно обновилось.
Датафлот поддерживает захват и репликацию ряда DDL-операций конкретный набор зависит от типа приёмника. Пользовательское руководство, например, описывает репликацию создания и удаления таблиц и настройку типов отслеживаемых DDL-изменений.
4. Первоначальная загрузка плюс CDCДо начала CDC необходимо создать исходное состояние приёмника. Это важно с точки зрения построения конвейера данных, включая исторические данные.
Датафлот включает сервис первоначальной синхронизации, после которой автоматически переходит к онлайн-репликации.
5. ГетерогенностьБанковская инфраструктура редко однородна.
В ней одновременно могут использоваться Oracle, PostgreSQL и его российские варианты, MS SQL Server, DB2, Greenplum и его форки, Hadoop, Kafka, объектные хранилища и аналитические СУБД.
Ценность специализированной репликационной платформы состоит ещё и в том, чтобы не строить отдельный механизм под каждую пару технологий.
Датафлот поддерживает широкий набор реляционных источников и приёмников, MPP-системы, Hadoop-платформы и другие типы хранилищ.
6. Администрирование, а не программирование каждого потокаПромышленная интеграция – это эксплуатация.
Проект нужно создать, настроить сопоставление данных, запустить, наблюдать отставание, диагностировать ошибки и восстанавливать работу.
Датафлот предоставляет единый графический интерфейс настройки и мониторинга доставка в приёмники может настраиваться без самостоятельной разработки внешних коннекторов.
Для крупного банка это важно не меньше скорости: десятки критичных потоков должны оставаться управляемыми через годы после их создания.