本トピックでは、スケジューリングポリシーと上書きポリシーを組み合わせて増分移行を実行する方法について説明します。
概要
Data Online Migration は移行タスクを実行する際、タスク実行ごとにソースデータのフルスキャンを実行します。次回のスケジュールされたタスク実行時に、サービスは新規または更新されたソースデータを検出し、移行します。
Data Online Migration は、リアルタイムの増分移行を保証するものではありません。このソリューションは、大量のファイルを扱うシナリオや、厳しい適時性が求められるシナリオには適していません。
移行中のデータ整合性は保証されません。移行タスクの完了後、宛先のデータを確認する必要があります。ソースデータを削除する前に、宛先のデータが正しいことを確認してください。そうしない場合、結果として生じるデータ損失については、お客様の責任となります。
移行の実装
さまざまなシナリオでスケジューリングポリシーと上書きポリシーを組み合わせて、増分移行を行うことができます。詳細については、「移行チュートリアル」をご参照の上、ご自身のシナリオに対応するチュートリアルを選択してください。
これらのポリシーについて、次の表で説明します。
|
ポリシー |
説明 |
|
上書きポリシー |
Data Online Migration では、Do not overwrite、Overwrite All、Overwrite based on the last modification time の 3 つの上書き方法を利用できます。 増分移行を実行するには、Overwrite based on the last modification time を選択します。宛先ファイルがスキップ条件を満たす場合、サービスは対応するソースファイルを再度移行しません。 説明
Overwrite based on the last modification time ポリシーは、ソースと宛先の両方から依然としてファイルメタデータを取得します。 |
|
スケジューリングポリシー |
移行タスクを特定の日時に 1 回実行するか、定期スケジューリングを使用して定期的に実行するように設定できます。詳細については、「実行頻度のリファレンス」をご参照ください。タスクは、指定された実行回数に達するまで、スケジュールに従って自動的に実行されます。1 回のタスク実行とは、開始から完了までの一連の処理のことです。実行回数の上限に達すると、タスクは自動的に実行されなくなりますが、手動で開始することは可能です。 |
Data Online Migration は、設定されたスケジューリングポリシーに基づいてタスクを自動的にスケジュールします。各タスク実行中、サービスはソースデータのフルスキャンを実行します。同じ名前のファイルが宛先にすでに存在する場合、システムは上書きポリシーをチェックして、最終更新日時に基づいてファイルをスキップするかどうかを判断します。
これらの設定の詳細については、選択した移行チュートリアルの「移行タスクの作成」セクションにある [Execution Time] と [Overwrite Method] の説明をご参照ください。
移行の例
例:毎日 00:00 の増分移行
ソース OSS バケットに 2,000 個の履歴ファイルが含まれているとします。毎日、約 50 個の新しいファイルがランダムな時間に追加されます。毎日 00:00 に、新しいファイルのみを宛先 OSS バケットに移行したいとします。
Alibaba Cloud OSS 移行チュートリアルを参考に、以下の手順に従って移行を実行します。
-
移行タスクを作成します。上書きモードには Overwrite based on the last modification time を選択します。タスクスケジューリングには Periodic Scheduling を選択し、[Execution frequency] を毎日深夜に実行するように設定し、[Number of executions] を 100 に設定します。
この設定により、Data Online Migration は最初の 100 回のタスク実行の間、毎日 00:00 にタスクを自動的に開始します。各実行で、ソースデータのフルスキャンを実行し、[Overwrite based on the last modification time] ポリシーを使用して、増分データのみを宛先に移行します。100 回のタスク実行後、自動スケジューリングは停止しますが、タスクを手動で開始することは引き続き可能です。
移行タスクに多数のファイルが含まれており、1 回のタスク実行が完了するまでに 24 時間以上かかる場合、次回のスケジュールされた開始時刻 (00:00) になってもタスクは実行中のままになります。この場合、サービスはそのスケジュールされたタスク実行をスキップし、翌日の 00:00 にタスクを再度開始しようとします。