バッチ ファイル処理ではファイル数が事前に定義済みで各ファイルに含まれる行数が非常に多いのが常ですが、そのような処理とは異なり、アクティブ データ ウェアハウス(ADW)環境でのトランザクションを構成するファイルは「動的」であり比較的小サイズです(ファイルあたり平均数百行)。 動的とは、ロード ジョブの実行中にファイルを作成、処理、ディレクトリから削除できるという意味です。 動的ファイルのトランザクション データ フローはリアル タイムで生じるため、動的ファイルは短時間で作成され、いったん作成できればすぐに更新でき、発生順で、あるいはほぼ発生順に処理されて、最短時間にタイミングよくデータ ウェアハウスにコミットされます。
定期的なファイル収集とロード
以下の図に示されるように、トランザクション ファイルはDataConnectorオペレータで定期的に収集し処理してから、Updateオペレータを使用してTeradataテーブルにロードできます。
定期的ロードではアクティブ ディレクトリ スキャンとバッチ ディレクトリ スキャンの両方を使用できます。
アクティブ ディレクトリ スキャンの場合、新しいファイルのディレクトリのスキャンは(VigilWaitTime値に基づいて)複数回実行され、VigilElapsedTimeかVigilStopTimeの設定期限が過ぎるまでジョブは終了しません。
バッチ ディレクトリ スキャン(VigilWaitTime属性とVigilElapsedTIme属性のいずれも設定不要)では、ファイルのディレクトリのスキャン回数は1回だけであり、そのスキャンで処理したファイルがすべて収集できればジョブは終了します。
アクティブ ディレクトリ スキャン属性とバッチ ディレクトリ スキャン属性の詳細については、Teradata Databaseへの外部データの移動を参照してください。
定期的ロードのロード プロトコルの切り替え
アクティブ ロードや定期的ロードにTeradata PTを使用するメリットとしてわかりやすいのは、ジョブ スクリプト自体を変更しなくてもロード プロトコルとジョブ パラメータを切り替えることができることです。 ただし、すべてのジョブ スクリプトでロード(またはエクスポート)プロトコルを切り替えることができるわけではありません。これは、1つのオペレータがサポートする機能が別の機能に適用できないことがあるからです。 また、ジョブで使用中のTeradata PT SELECT動作とAPPLY動作が切り替え先のオペレータに適用できるかどうか判断する必要もあります。
ロード プロトコルの切り替えが適しているシナリオを以下に示します。
- 現在のロード プロトコルのままでは現在のトランザクション ファイルの数を、満足な処理速度で処理できない。
- 「ロード スロット」が必要な同時ロード ジョブ数が、Teradata Databaseの許容限度に達した。
- 現在のロード戦略では、システムがシステム リソースの現在の使用状況を維持できない。
- システム障害が生じたか、急激にトランザクション数が増えたために、「キャッチ アップ」が必要である。
以下の図に示されるように、ロード プロトコルをStreamからUpdateに、あるいはその逆に変更する場合、@記号で始まるジョブ変数名(例、@LOAD)でオペレータ型を定義できます。 ジョブ変数の使用方法の詳細については、ジョブ変数ファイルのセット アップを参照してください。