[Gluesync 2.1.1] Allowed Operation機能によるTruncate操作のサポート対応追加について


先日リリースされたGluesync 2.1.1にて、「Allowed Operation」と呼ばれる機能が追加されました。

この新機能は、ソースおよびターゲット間でレプリケーション対象とするデータベース操作を制御することができ、ユーザのニーズに応じたレプリケーションが実現できます。

スナップショット(全件レプリケーション)処理、CDC(差分レプリケーション)処理それぞれ設定箇所や対応が異なるため、それぞれ紹介します。

スナップショットの場合

従来のGluesyncでは、スナップショットモードとしてUpsertモードおよびInsertモードが提供されており、高速に処理できるInsertモードはターゲット側にレコードが存在しないケースで利用する機能となっていました。


このため、予めターゲット側でTruncateを実行するなどしてレコードがクリアされている状態でない場合、重複レコードエラーとなっていましたが、Gluesync 2.1.1では仕様変更があり、Insertモード利用実行時には自動的にターゲット側でTruncateクエリによってレコードをクリアされるようになりました。
これに伴い、Insertモード選択時の文言もアップデートされ、Truncateが実行される記載が追加されています。


ただ複数テーブルを1つのテーブルへ集約する(N対1構成)など、ターゲット側でのTruncateが運用上許可されない特定のケースでは、このTruncateによって必要なレコードが全消去されてしまいます。
この場合は、パイプライン(DB接続設定)の編集画面を開き、ソースおよびターゲットセットアップ詳細設定 > カスタムプロパティ項目にて、”Disable truncate on target before snapshot inserts“というパラメータをドロップダウンリストから選択し有効化することで、スナップショット実行時にもターゲット側へのTruncateを実行しないように制御可能です。
※ソースのみ、ターゲットにのみこのパラメータを追加しても動作しないため、
 必ず双方の接続エージェントで指定してください

CDCの場合

Gluesyncでは、ソーステーブルに対して実行された下記操作がターゲットテーブルへCDC(差分レプリケーション)されます。
・Insert
・Update
・Delete
・Truncate

GluesyncのCDCでは、エンティティ(レプリケーションジョブ)単位で許可する操作を制御可能です。
エンティティの編集画面を開き、設定 > オプション設定と調整 > 許可された操作をクリックすることで、CDCでレプリケーションする操作を指定します。

このように、Gluesyncの「Allowed Operation」機能を利用することで、ニーズに応じたレプリケーションを簡単に構成可能です。

関連したトピックス

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.