ITパスポート 2018年 秋期 問94
問題文
バッチ処理の説明として、適切なものはどれか。
選択肢
ア:一定期間又は一定量のデータを集め、一括して処理する方式(正解)
イ:データの処理要求があれば即座に処理を実行して、制限時間内に処理結果を返す方式
ウ:複数のコンピュータやプロセッサに処理を分散して、実行時間を短縮する方式
エ:利用者からの処理要求に応じて、あたかも対話をするように、コンピュータが処理を実行して作業を進める処理方式
🔒 解説は解答すると表示されます
バッチ処理の説明として、適切なものはどれか。【ITパスポート 解説】
正解の理由
選択肢アが正しいです。
バッチ処理(バッチしょり:一定期間や一定量のデータをためてまとめて一括処理する方式)は、例として「毎夜まとめて給与計算を行う」「月末に請求書データを一括生成する」などがあります。問題文の「一定期間又は一定量のデータを集め、一括して処理する方式」という説明は、まさにバッチ処理そのものを表しています。
バッチ処理(バッチしょり:一定期間や一定量のデータをためてまとめて一括処理する方式)は、例として「毎夜まとめて給与計算を行う」「月末に請求書データを一括生成する」などがあります。問題文の「一定期間又は一定量のデータを集め、一括して処理する方式」という説明は、まさにバッチ処理そのものを表しています。
補助説明:
- バッチ処理は即時応答を必要としません。処理をまとめて実行することで効率化や管理のしやすさを狙います。
- 「バッチ(batch)」は英語で「一括のまとまり」を意味します。ここではデータや処理のまとまりを指します。
解法ステップ
- 問題文のキーワードを探す:「一定期間」「一定量」「一括して処理」。これらはバッチ処理の典型的な特徴です。
- 各選択肢と照らし合わせる:即時応答や対話的な処理はバッチではないと判断する。
- 用語の意味で確定する:バッチ処理の定義に最も合致する選択肢を選ぶ(ア)。
選択肢別の誤答解説
- ア:正解。バッチ処理(一定期間・一定量をまとめて一括処理する方式)。夜間や週次・月次でスケジュールして実行されることが多いです。
- イ:誤り。これはオンライン処理またはリアルタイム処理の説明です。オンライン処理(即時に処理し結果を返す方式)は、銀行の振込やWebサービスのリクエスト応答など、ユーザーの操作に即座に反応する場面で使われます。
- ウ:誤り。これは分散処理(複数のコンピュータやプロセッサに処理を分散する方式)の説明です。分散処理はバッチ処理と組み合わせて使うこともありますが、定義としては「処理の分散」が主題です。したがって設問の「バッチ処理の説明」とは一致しません。
- エ:誤り。これは対話処理(ユーザーとやり取りをしながら逐次処理を進める方式)の説明です。対話処理は、ユーザーとのやり取りを重視するアプリケーションで用いられます(例:フォーム入力に応じて逐次処理する画面)。
よくある誤解
- 「バッチは夜にしか動かない」
- 一般的に夜間・業務外に実行されることが多いですが、バッチ処理は実行タイミングは自由です。業務要件により昼間に定期実行することもあります。
- 「バッチ=遅い処理」
- バッチはまとめて処理する方式であって、必ずしも遅いわけではありません。大量データを効率よく処理できるよう最適化されることが多いです。
- 「バッチと分散処理は別物でどちらかしか使えない」
- 実際にはバッチ処理を複数サーバで分散して高速化することが多く、両者は排他ではありません。
補足コラム
- バッチジョブ(job):バッチ処理で実行される単位の仕事のこと。例:「請求書作成ジョブ」「ログ集計ジョブ」など。
- バッチウィンドウ:バッチ処理を実行する予定の時間帯。業務に影響が出ない時間に設定されることが多いです。
- 近年の比較:ストリーム処理(データが流れてくる都度処理する方式)はリアルタイム性が求められる場面で使われます。対して集計や帳票作成など一括処理で良い場面はバッチ処理が向きます。用途に応じて使い分けます。
簡単なイメージ(コード例):
# 小さなバッチ処理の例(CSVをまとめて処理)
import csv
def process_batch(file_path):
results = []
with open(file_path, newline='') as f:
reader = csv.DictReader(f)
for row in reader:
# ここで1行ずつ計算や集計を行う
results.append(int(row['amount']) * 1.1) # 例:金額に手数料をかける
# まとめて出力(ファイルやDBに保存)
print("処理件数:", len(results))
FAQ
Q1. バッチ処理はどんな場面で使うべきですか?
A1. 大量データの集計、定期的な帳票作成、夜間にまとめて行うデータ更新など、即時応答を要求しない処理に向きます。
A1. 大量データの集計、定期的な帳票作成、夜間にまとめて行うデータ更新など、即時応答を要求しない処理に向きます。
Q2. オンライン処理とバッチ処理の切り分け基準は?
A2. ユーザーが即時に結果を必要とするかどうかが一つの基準です。即時ならオンライン処理、即時でなければバッチ処理を検討します。
A2. ユーザーが即時に結果を必要とするかどうかが一つの基準です。即時ならオンライン処理、即時でなければバッチ処理を検討します。
Q3. バッチ処理はクラウド環境でも使われますか?
A3. はい。クラウド上でもバッチジョブをスケジューリングして実行します。分散処理やサーバレスで効率化することも一般的です。
A3. はい。クラウド上でもバッチジョブをスケジューリングして実行します。分散処理やサーバレスで効率化することも一般的です。
関連キーワード: バッチ処理、バッチジョブ、バッチウィンドウ、オンライン処理、リアルタイム処理、対話処理、分散処理、ストリーム処理

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

