1.2 バッチジョブ分散実行システムの特長
バッチジョブ分散実行システムは,次の図に示す特長を備えています。
それぞれについて説明します。
-
データが配置されたノードにジョブを分散することで,処理を高速化します
バッチジョブ分散実行システムでは,分割したデータの数に合わせてジョブを複製し,複製したジョブを複数のノードに投入して並列処理します。分割データ単位に複製したジョブをサブジョブと呼びます。
また,あらかじめインメモリデータ(メモリ上に展開されたデータ)が格納されているノードにサブジョブを分散し実行できます。ほかの装置からデータを取得して処理する従来の方法に比べて,ファイルの入出力やネットワークアクセスに掛かる時間を短縮します。
図1‒3 バッチジョブの分散 -
HadoopやCOBOLで作成した業務プログラムなどの既存の資産を活用できます
ファイルアクセスを伴うバッチ処理の場合,共有ファイルシステムなどを使用することで,既存のプログラムの変更を最小限に抑えられます。
バッチジョブを分散して運用するシステムに移行する場合,一般にファイル分散用のドライバへの対応が必要になります。しかし,ファイルアクセス部分の業務処理をJavaなどの言語で再構築する必要はありません。COBOLなどで作成した既存の業務プログラムを活用できます。COBOLと同様に,Hadoopと連携することでHadoopジョブを活用できます。
図1‒4 既存の資産の活用 -
分散して実行する多大な数のジョブを1つのジョブとして管理できます
バッチジョブを並列化すると,多大な数のノード上で同じサブジョブを実行することになります。バッチジョブ分散実行システムでは,分割したデータに任意の名称(データ識別子)を付けて管理します。データ識別子ごとにサブジョブが自動的に複製・分割されて,その実行情報は後続のジョブに引き継がれていきます。
それぞれのデータの処理結果は一覧表形式で参照できるため,管理上は1つのジョブとして扱えます。
図1‒5 分割データの引き継ぎによるジョブの統合管理 -
JP1/AJS3 - ViewのGUIを用いて操作できます
ジョブを定義するときは,JP1/AJS3 - ViewのGUIを用いて直感的に操作できます。また,ジョブの実行状況や実行結果も,JP1/AJS3 - ViewのGUIから参照できます。
図1‒6 JP1/AJS3 - ViewのGUIを用いた操作 -
障害の発生個所を特定して対処することで容易にリカバリーできます
特定の分割データに不具合があってエラーが発生した場合も,すべてのジョブを再実行するのではなく,エラーの要因となった個所だけを修正して再実行できます。エラーのレベルによっては,システムで自動的に再実行して処理を完了させることもできます。
図1‒7 障害発生個所の特定による容易なリカバリー