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.