MySQLの定期同期が見逃すもの:binlogベースのCDCでBigQueryに完全な変更履歴を届ける

MySQL CDC to BigQuery: what periodic syncs miss, and how binlog avoids it

MySQLの定期同期が見逃すもの:binlogベースのCDCでBigQueryに完全な変更履歴を届ける

MySQLからBigQueryへのデータ同期を、定期的なSELECTベースのバッチ処理で行うと、削除や中間状態の更新を見逃し、本番DBに負荷をかけます。この記事では、MySQLのbinlogを直接読み取るChange Data Capture(CDC)の仕組みと、ROW形式のバイナリログやFULL行イメージ、適切な権限、server-idの一意性、binlog保持期間など、必要な設定を解説します。さらに、BigQueryへの確実なデータ転送と、管理プラットフォームが担う複雑な処理についても紹介します。

SELECTベースの同期は、現在存在するものしか見えません。2回の実行の間に削除された行や、複数回変更された行の中間状態を知る方法はなく、大きなテーブルをスキャンするたびに本番データベースに負荷をかけます。

この日のほかの記事

2026-08-25