CDCモードの初回全件連携をスキップし変更情報からの連携が可能に:CData Sync

by 宮本航太 | 2024年08月05日

こんにちは、プロダクトマネージメントチームの宮本です!

CData Sync V24.2 では、CDC モードでの初回実行時の全件レプリケーションをスキップさせることができるようになりました!これにより、既に変更データを集約しているようなテーブルへのCDC ジョブの実行だったり、他のツールなどとの組み合わせで初回移行を行うことが可能になります。

それでは使い方についてご紹介していきます。

シナリオ

MySQL → Snowflake へのレプリケーションという構成で行います。既に何かしらの手段でSnowflake に連携データが格納されており、そこに対してSync のCDC ジョブで続きの差分レコードを連携させていきます。

設定方法

ジョブ作成(既存テーブルの選択まで)

変更データキャプチャモードでジョブを作成します。

MySQL 側のテーブルを選択します。

次にSnowflake 側のテーブル作成の設定になりますが、既に別な方法でSnowflake 側には連携済みテーブルがあるというシナリオなので、そのテーブルを選択します。そのためにはタスク詳細ページの概要タブにある同期先情報を変更します。

TestTable1 というテーブルへ連携したいので選択します。


これで、MySQL の accountsample テーブルから、Snowflake のTestTable1 というテーブルにレプリケーションする設定ができました。


ただし、この設定のままでは全件レプリケーションになりますので、現在MySQL に保存されている分はレプリケーションをスキップするよう指定する必要があります。

初回連携をスキップさせる方法

それではCDC モード時に初回レプリケーションをスキップさせる方法です。レプリケートタスクの設定画面を開き、高度な設定タブを表示します。



レプリケートオプションの編集画面を開き、下記2つのパラメータを指定します。
skipsnapshot=true,replicateversion=2


これで保存したらジョブ設定が完了です。
ではジョブを実行して確認してみましょう。

ジョブ実行

MySQL側では現在レコードが格納されている状態となります。この状態でジョブを実行し、結果がゼロ件となれば初回連携のスキップが成功といえます。

それではレプリケートタスクを実行してみると、確かに実行結果がゼロ件となりました。

2回目以降は差分連携できるのか、確認のためにMySQL に1件レコードを追加してみます。


結果はちゃんと1件の連携だけが行われました。

おわりに

いかがでしたでしょうか。今回ご紹介した初回スキップ機能を用いることで、CDCジョブを運用開始するまでの選択肢の幅が広がります!CDataSync は30日間の無償トライアルが可能です。ぜひお試しくださいませ!

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。