MySQL CDC в BigQuery: почему периодические синхронизации теряют данные, и как binlog это исправляет
MySQL CDC to BigQuery: what periodic syncs miss, and how binlog avoids it

Периодические SELECT-синхронизации видят только текущее состояние таблицы: они пропускают удаления и промежуточные изменения строк. Change Data Capture (CDC) читает бинарный лог MySQL (binlog) и захватывает каждое INSERT, UPDATE и DELETE в порядке их выполнения. В статье разбираются обязательные настройки MySQL для CDC: ROW-формат, FULL row images, отключение PARTIAL_JSON, права REPLICATION SLAVE/CLIENT, уникальный server-id и достаточный срок хранения binlog. Также рассматривается загрузка изменений в BigQuery и сравнение с полными батч-синками.
Пайплайн, который доставляет неполные данные вовремя, хуже, чем тот, который иногда отстаёт на несколько минут, но никогда не ошибается.