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

cdc初回スキップ

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

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日間の無償トライアルが可能です。ぜひお試しくださいませ!

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

関連コンテンツ