Batch processing (Batch job)とは?
登場背景
Batch(バッチ) processingは使用者(開発者)が Punched cardにプログラムを入力するMainframeコンピューター時代(初期のコンピューターは一度に一つのプログラムだけを実行できたこと)に始まった。
こんなにプログラミングされたPunched cardを使用者がSystem operatorに提供して、Syteme operatorはこれを一定手順、または時間に合わせてコンピューターに供給した。
Batch job提出されたこのようなjobは、Queueに入って、Systemは処理待機中の複数の作業を時間順または優先順位に従ってプログラムを実行し、結果を出力した。

しかし、最近コンピュータが発展するにつれ、Batchの定義と実際の使用は大きく変化した。最近では定期的に遂行すべき作業を自動化したり、大量データの一括処理に使われる。
構造
Batch Jobsは開発者の追加作業なしに実行されるScheduled program である。大規模なプログラム・サービスではこのようなjobsは普段は作業待機列にいて、主にコンピュータがIDLE状態の夕方や週末に実行される場合が多い。このようにBatch Jobsは
- 特定の時間に実行され、
- 大量のデータを処理し、
- 一括して処理する
ため、業務の効率性を増大させることができる。
活用範囲
主に銀行精算システム、給与明細書、成績処理のように周期的で処理時間が長くかかる業務を一括処理するのに使われる。リアルタイムで要請がある度に処理しなくても良いサービスに主に適用される。現在働いている部署では主にCrontabを使ってDBインデックス、Sitemap生成、実行時間が長くかかるQuery処理などに使用している。