Как работает CDC pipeline?
🌐В современных дата-платформах данные редко грузят батчами раз в сутки.
Чаще используют CDC (Change Data Capture) — потоковое получение всех изменений из базы.
Разберём классический пайплайн:
MySQL → Debezium → Kafka → ClickHouse
1️⃣В MySQL все изменения пишутся в binlog (binary log) - по сути журнал транзакций базы.
Каждая операция фиксируется как событие: INSERT,UPDATE,DELETE
2️⃣Debezium — это CDC-коннектор (обычно работает через Kafka Connect)
Он:
➡️подключается к MySQL
➡️читает binlog
➡️превращает события в Kafka messages
➡️пишет события в Kafka топики
3️⃣Kafka: транспортный слой между OLTP и аналитикой которая позволяет довольно продолжительное время накапливать историю
4️⃣Далее все направляется в ClickHouse: аналитическое хранилище
Он читает Kafka через Kafka Engine или ingestion сервис.
Выглядит это примерно так:
Kafka topic
↓
Kafka Engine Table
↓
Materialized View
↓
MergeTree таблица
🧐Почему такая архитектура стала стандартом
Она даёт:
➡️Near real-time данные
➡️минимальную нагрузку на OLTP
➡️возможность replay истории
➡️масштабируемость
Было полезно? Ставьте 🔥
#dataengineering #cdc #debezium #kafka
🌐В современных дата-платформах данные редко грузят батчами раз в сутки.
Чаще используют CDC (Change Data Capture) — потоковое получение всех изменений из базы.
Разберём классический пайплайн:
MySQL → Debezium → Kafka → ClickHouse
1️⃣В MySQL все изменения пишутся в binlog (binary log) - по сути журнал транзакций базы.
Каждая операция фиксируется как событие: INSERT,UPDATE,DELETE
2️⃣Debezium — это CDC-коннектор (обычно работает через Kafka Connect)
Он:
➡️подключается к MySQL
➡️читает binlog
➡️превращает события в Kafka messages
➡️пишет события в Kafka топики
3️⃣Kafka: транспортный слой между OLTP и аналитикой которая позволяет довольно продолжительное время накапливать историю
4️⃣Далее все направляется в ClickHouse: аналитическое хранилище
Он читает Kafka через Kafka Engine или ingestion сервис.
Выглядит это примерно так:
Kafka topic
↓
Kafka Engine Table
↓
Materialized View
↓
MergeTree таблица
🧐Почему такая архитектура стала стандартом
Она даёт:
➡️Near real-time данные
➡️минимальную нагрузку на OLTP
➡️возможность replay истории
➡️масштабируемость
Было полезно? Ставьте 🔥
#dataengineering #cdc #debezium #kafka