CData Sync でデータ連携基盤を運用していると、ジョブの実行頻度を一定にしたくない場面があります。平日は頻繁に同期したいが、週末は 1 日 1 回で十分という場合です。また、削除を報告しないデータソースでは差分レプリケーションで削除を検出できないため、定期的に再同期して同期先との差を補正したいこともあります。こうした運用について、サポートにも同様のご要望をいただくことがあります。
これまでは 1 つのジョブに設定できるスケジュールが 1 つだけでした。そのため、曜日ごとに頻度を変えるにはジョブを複製して運用する必要がありました。定期的な全件連携による再同期も、再同期用の別のジョブを用意する必要がありました。
CData Sync v26.4 では、1 つのジョブに最大 3 つのスケジュールを設定できるようになりました。さらに、各スケジュールから、タスクの再同期を自動で実行することもできます。たとえば、全件を連携し直す再同期や、所定の開始日以降のデータを連携し直す再同期を、手作業なしで定期的に行えます。本記事では、この 2 つの機能の概要とユースケース、設定手順の例を紹介します。本記事では検証に CData Sync 26.4.9803.0 を使用しています。
新機能の概要
複数のスケジュール
1 つのジョブに、最大 3 つのスケジュールルール(以下、ルール)を設定できます。曜日や時間帯に応じて、異なる頻度でジョブを実行できます。
ルールの追加は、今まで通り、ジョブの「概要」タブにある「スケジュール」カテゴリの「スケジュールを追加」から行います。各ルールには専用のトグルがあり、ほかのルールとは別に有効と無効を切り替えられます。
定期的な再同期
各ルールは、通常のジョブ実行の代わりに、タスクの再同期を自動で実行するよう設定できます。たとえば、スナップショットモードをフルにして、全件を連携し直せます。スナップショットモードを差分にして、期間を特定の位置からにし、日付で開始位置を指定すれば、その日付以降のデータを定期的に連携し直すことも可能です。
ユースケース
複数スケジュールと定期的な再同期は、次のような運用で使えます。
平日は高頻度、週末は低頻度にして、同期先のデータウェアハウスのコンピュートコストを抑える。
業務時間帯だけ高頻度にして、夜間は低頻度にする。
削除の変更をキャプチャできないデータソースで、全期間を対象にした再同期を週次でスケジュールし、削除の取りこぼしを補正する。
月次で再同期して、データソース側で更新日時を変えずに修正された過去データなど、差分レプリケーションで検出できない変更に追従する。
Cron 式 1 つでは表現できないスケジュールを、複数のルールの組み合わせで表現する。たとえば「9:00 から 19:00 まで 10 分間隔」という要件です。
最後の例を補足します。1 つの式で */10 9-19 * * * と書くと、19 時台も 10 分ごとに実行されるため、19:50 まで実行されてしまいます。19:00 ちょうどで終わらせる書き方は、1 つの式では作れません。複数のルールなら、次の 2 つで表現できます。
設定例
ここでは、1 つのジョブに次の 3 つのルールを設定する例を紹介します。
ルール | 内容 | Cron 式 |
|---|
ルール 1 | 平日は毎時 | 0 * ? * mon-fri
|
ルール 2 | 土日は 1 日 1 回(6 時) | 0 6 ? * sat,sun
|
ルール 3 | 日曜深夜に週次で再同期(2 時) | 0 2 ? * sun
|
ルール 1 と 2 は通常の実行を、ルール 3 は再同期を起動し、3 つとも同じ同期先へ書き込みます。

ステップ 1 スケジュールを追加するダイアログを開く
対象のジョブの「概要」タブを開き、右ペインの「スケジュール」カテゴリにある「スケジュールを追加」をクリックします。

ステップ 2 ルール 1 と 2 を設定する
ルール 1 では、間隔に「カスタム」を選び、Cron 式のフィールドに 0 * ? * mon-fri を入力して、「スケジュールを追加」をクリックします。平日は毎時 0 分に実行されます。
続けて、もう一度「スケジュールを追加」からルール 2 を追加します。同じく「カスタム」を選び、Cron 式に 0 6 ? * sat,sun を入力して、「スケジュールを追加」をクリックします。土曜と日曜の 6 時に 1 回ずつ実行されます。
ステップ 3 再同期のルールを設定する
3 つ目のルールでも間隔に「カスタム」を選び、Cron 式に 0 2 ? * sun を入力します。続いて「タスクを定期的に再同期するスケジュール」にチェックを入れ、追加された「スナップショットモード」「期間」「書き込みモード」を、データソースの特性と運用方針に合わせて選択します。最後に「スケジュールを追加」をクリックします。

ステップ 4 一覧で確認してトグルを操作する

各ルールのトグルで、有効と無効をルールごとに切り替えられます。たとえば、再同期のルールだけを一時的に無効にして、通常の実行は続けることができます。
設定するときの注意
複数のスケジュールを組み合わせるときは、頻度の高いルールが頻度の低いルールの実行を妨げることがある点に注意してください。ヘルプには、5 分ごとと 1 時間ごとの両方を設定した例があります。この場合、5 分ごとの実行のたびに次の実行を判定する時刻がリセットされるため、1 時間ごとのルールは実行されない可能性があるためご注意ください。
まとめ
CData Sync V26.4 では、1 つのジョブに最大 3 つのスケジュールルールを設定でき、各ルールからタスクの再同期を自動で実行することもできるようになりました。ジョブを複製したり、再同期用の別のジョブを用意したり、スケジュールを止めて手動で再同期したりする運用を、スケジュールの設定だけで置き換えられます。
ぜひ CData Sync V26.4 をお試しいただき、データ連携基盤の運用の手間とコストの削減にお役立てください。CData Sync の 30 日間無償トライアルはこちらからダウンロードいただけます。
また、使っていて気になった点やご不明な点があれば、お気軽にテクニカルサポートまでお問い合わせください。