1.1 バッチジョブ分散実行システムとは
社会インフラを支える基幹システムではバッチ処理が不可欠ですが,近年のデータ量の増大に伴ってバッチ処理の高速化が求められています。バッチ処理の高速化のために,従来は,高速なマシンにリプレースしたり,業務専用のマシンを追加したりするなどの対策が取られてきました。しかし,そのような対策には,不稼働時間や運用コストの面で無駄が多いという問題があります。バッチジョブ分散実行システムは,運用コストを掛けないで,データ量の増加に応じてバッチ処理を柔軟に増強するためのシステムです。
バッチジョブは,大量のデータを一括して処理するジョブです。バッチジョブには,同じ処理を繰り返す場合が多く見られます。バッチジョブ分散実行システムは,このようなジョブの処理の高速化を次の方法で実現します。
-
同じ処理を繰り返すジョブを,入出力に依存関係のない単位に分割して実行します。
-
分割データがメモリ上に存在するホストにジョブをスケジューリングして,データアクセス時間を短縮します。
1つのバッチジョブで処理するデータを分割し,分割したデータを複数のホスト(ノード)上で並列に処理する例を次の図に示します。
|