チェックポイントを使用すると、Teradata PTジョブのオーバーヘッドが増加します。 リソースに関して言えば、チェックポイント ファイルの情報に基づいて再始動できるようにするために、内部操作の状態をチェックポイント ファイルに書き込む処理を実行オペレータごとに追加で行なう必要があります。 実行時間に関して言えば、各実行オペレータが、まず実行中の処理をすべて終了し、そのチェックポイントを取得した後、(必要に応じて)その他すべてのオペレータによるチェックポイントの取得が終了するまで待機する必要があります。
頻繁にチェックポイントを作成すると、ジョブ中断後の再始動時に繰り返す必要がある処理の量を限定できます。エラー イベントとチェックポイントの間の時間が短縮されるためです。 しかし、非常に短いチェックポイント間隔を指定した場合、ジョブの実行時間が大幅に長くなります。 チェックポイント間隔は、ジョブ実行時間増加のコストと、ジョブの再始動が必要になった場合の再処理量の削減とのトレードオフを考慮して選択します。
20,000,000行をロードするTeradata PTジョブで、ProducerオペレータとConsumerオペレータのインスタンスを4つずつ持つ例を、以下に示します。
- チェックポイント間隔を10秒に指定すると、ジョブの実行時間が7.3%、ホストCPU時間が3.3%長くなりました。
- チェックポイント間隔を5秒に指定すると、ジョブの実行時間が20%、ホストCPU時間が6.6%長くなりました。
間隔チェックポイント操作は、パフォーマンス コスト増につながる可能性がありますが、再始動時の有用性のため、Teradata"ベスト プラクティス"として推奨します。