advanced
CDC
Capture data changes для downstream systems с ordering, replay, schema evolution, idempotency и privacy controls.
CDC (Change Data Capture) стримит вставки, обновления и удаления на уровне строк из OLTP-лога (WAL, binlog, oplog) к потребителям: search-индексы, warehouse, кэши, event bus. Инструменты: Debezium, Maxwell, native logical replication, managed connectors.
Важны порядок и эволюция схемы: потребители идемпотентно переживают out-of-order retry; additive-изменения схемы безопаснее деструктивных; tombstone сигнализируют удаления в Kafka compacted topics.
OLTP → WAL → CDC connector → очередь → search / warehouse / cache projector
На интервью: CDC vs ночной batch ETL по свежести; идемпотентная проекция в Elasticsearch; фильтрация PII до выхода потока за trust boundary.
Типовые ошибки: full table scan под видом sync; удаления не доходят; неограниченный consumer lag; rename без слоя совместимости; сырой CDC topic без ACL.
Компромисс — почти realtime свежесть downstream против сложности пайплайна, гарантий порядка и мониторинга lag и poison messages.
Чеклист:
- Определите источник CDC: WAL/binlog/oplog.
- Обеспечьте идемпотентное применение downstream.
- Спланируйте эволюцию схемы и события удаления.
- Мониторьте lag и dead-letter.
- Фильтруйте PII на границе capture или consume.