バッチ処理
そのため入力データもスクリプトやコマンド行パラメータを通して予め用意される。この点でユーザーの入力を必要とする対話型プログラムとは対極にある。
バッチジョブは相互対話式の思想に基づく処理の仕組みではないが、IBM の CICS のようなトランザクション処理システムもテクニカルな視点から見ればバッチジョブとして動いている。もっとも、その部分はユーザーから隠れて見えない部分である。
バッチ処理は歴史的にはメインフレームと同義だった。このクラスのコンピュータは非常に高価であるため、上述したような理由でバッチ処理が行われた。また、初期のコンピュータでは端末からの対話的利用はほとんど行われなかった。
MS-DOSのバッチファイルの由来はここから来ている。
NECの情報管理ソフトの中にDataBooster(データブースター)という製品がある。これは通常夜間行われる日次月次のバッチ処理を高速化しようというもので、数十GB単位の大量のメモリーと専用の処理アルゴリズムによって、時間のかかる中間ファイルの生成を行わないところに特徴がある。
システム利用者が少ない・あるいはサービス提供時間外でシステム負荷が低い夜間に実行されるバッチ処理は「夜間バッチ」と呼ばれる。何らかの事情で夜間バッチが事前の想定時刻までに処理を完了できなかった場合は「突き抜け」と呼ばれる場合がある。
データ処理におけるバッチ処理(バッチしょり)は、ひとまとまりのデータを一括して処理する方式である。逐次生み出されるデータを一定期間・一定量集めたものをバッチといい、このバッチ単位で処理をおこなう方式がバッチ処理である。
比較される方式として、逐次生み出されるデータをストリームとして捉え到着したデータを順次扱うストリーム処理がある。データをキューイングせず即時処理するリアルタイム処理とも比較される。
バッチ処理を直列につなぎパイプライン処理をおこなう(パイプラインを構築する)ことがしばしばおこなわれる。
「バッチ (batch)」という言葉は、プログラマがプログラミングをする際、紙にコードを書き、紙テープか80カラム仕様のパンチカードにパンチしていった時代の言葉。カードまたは紙テープはシステムオペレーターに渡され、オペレーターはタスクのスケジューリングをし、コンピュータにカードまたは紙テープを投入していった。スケジューリングされたタスクは直ちにシステムに入れられたのではなく、一緒にまとめて投入されたので(バッチとは、複数の似ているものを1つのグループとして生産、処理すること、または一緒に集めて1つのユニットとして扱うこと。en:Batch processingより)、これらのタスクの集まりを「バッチジョブ」と呼ぶようになった。
バッチジョブは一度設定されると人間の手を煩わせることなく動作する。