バッチ処理
処理だよ
まとめてやるよ
まとめる対象を「処理」とする解釈と「データ」とする解釈があるよ
簡単に書くよ
バッチ処理(読:バッチ処理 英:batch processing)とは
「どこかのタイミングでまとめてやりましょう!」な処理のこと
です。
詳しく書くよ
サクっと一言で説明すると
どこかのタイミングでまとめてやる処理
が「バッチ処理」です。
先頭の文字は「バ(ba)」です。
「パ(pa)」では ありません。
ご注意ください。
例えば、そうですね。
ピヨ太君はケーキ屋さんです。
ピヨ太君のケーキ屋さんでは、お得意様に向けてケーキ配達サービスを始めました。
電話で注文を受け、お家までケーキを届けてあげるサービスです。
その結果、ケーキ大好きピヨ子さんから1時間に1回のペースで注文が入るようになりました。
ピヨ太君は、注文を受ける、ケーキを作る、ケーキを届けるを1時間に1回やる羽目になっています。
さすがに1日に10回以上ピヨ子さんの家に行くのは大変です。
そこでピヨ太君は「その日の15時までに受け付けた分の注文を、まとめて作って、その日の18時ころに届けます」というルールを追加しました。
これでピヨ太君がピヨ子さんの家に行くのは1回で済みます。
1時間に1回のペースで注文されたケーキを、18時に間に合うように一気に作って一気に持っていけば済むからです。
めでたし、めでたし。
この話においてピヨ太君がやった「その日の15時までに受け付けた分の注文を、まとめて作って、その日の18時ころに届けます」みたいな処理がバッチ処理です。
どこかのタイミングでまとめてやる処理
です。
繰り返しになりますが、バッチ処理は「どこかのタイミングでまとめてやる処理」です。
ただし、ニュアンスの異なる2つの解釈があったりなかったりします。
1.まとめる対象は「処理」
2.まとめる対象は「データ」
の2つです。
「1」は「複数の処理をまとめた処理」がバッチ処理との解釈です。
例えば「バックアップ処理をやって、その次に不要ファイルの削除処理をやって、最後に処理結果メールを送る処理をやる」みたいな処理を指します。
「処理」を、まとめてやっていますよね。
例えば「バッチファイル」の「バッチ」は「1」のニュアンスだと思います。
バッチファイルは、大雑把に言えば「処理をまとめて書いたファイル」です。
データの蓄積とかは関係ありません。
「2」は「一旦データを溜めて、溜めたデータをまとめて処理する処理」がバッチ処理との解釈です。
例えば「深夜に、その日の分の時間帯ごとの売上データをまとめてバックアップする」みたいな処理を指します。
1日分の「データ」を、まとめて処理していますよね。
例えば「夜間バッチ」の「バッチ」は(「1」のニュアンスの場合もありますが)「2」のニュアンスだと思います。
やる処理が1つしかない場合でも「夜間バッチ」と呼んだりしますからね。
2つのニュアンスの違いは突っ込んで考えると混乱するかもしれません。
ご注意ください。
例えば、そうですね。
先ほどのピヨ太君の例を思い出してください。
「その日の15時までに受け付けた分の注文を、まとめて作って、その日の18時ころに届けます」な処理です。
この処理は「ピヨ子さんからの注文」というデータをまとめて処理していると解釈するのが自然です。
注文データを溜めて、どこかのタイミングでまとめて処理(作って、届ける)していますよね。
ただし、見方を変えると「『作る』と『届ける』の処理をまとめた」とも解釈できます。
注文受付が終わった時点で「『作る』と『届ける』の処理をやる」と書かれたバッチファイルを呼び出す、と解釈すれば処理をまとめていると言えるでしょう。
もう一歩、考えを進めてみましょう。
最初の時点の「注文を受けたらケーキを作って配達する」だって、捉えようによっては処理をまとめた処理です。
電話がつながった時点で「『注文受付』と『作る』と『届ける』の処理をやる」と書かれたバッチファイルを呼び出す、と解釈すれば処理をまとめていると言えるでしょう。
とはいえ、最初の時点の、その都度「注文を受けたらケーキを作って配達する」をやっていた状態を「バッチ処理」と呼ぶのは、ちょっと違和感を覚えます。
そんな感じで、厳密に考え始めると迷子になりかねません。
そもそもが「都度都度やると大変だから、まとめて一気にやろう」で生まれた概念っぽいので「処理をまとめる」と解釈しても「データをまとめて処理する」と解釈しても間違いではない気がしますけどね。
「まとめてやる処理なのね」程度に、ゆるく解釈しておくのが無難だと思います。
ちなみに「バッチ処理」という表現は主にプログラムさんのお仕事に対して使う表現です。
バッチ処理にするメリットは
1.自動化できる
2.忙しくないときに実行できる
でしょうか。
例えば「毎週月曜日の人のいない夜間に実行させる」といったやり方ができます。
もちろん、なんでもかんでもバッチ処理にできるわけではありませんけどね。
状況に左右されない定型業務はバッチ処理化するのに向いています。
定型業務なので手順さえ教え込めば後は勝手にやってくれます。
また、期限に間に合えばいつやっても問題ないので、忙しくない時間帯にやらせたりできるのです。
実際のシステムのお話で言えば、報告書用のデータを集計したり、バックアップを取ったりする処理をバッチ処理にすることが多いですよ。
一言でまとめるよ
まぁ「バッチ処理」って単語が出てきたら「まとめてやりましょ処理なんだな~」と お考えください。
おまけ
■訳してみるよ
「batch(バッチ)」の意味は「一群」とか「一団」とか「一束」とか「一回分」とか「束」とか「群れ」とかです。
「処理」は日本語ですね。
何となく くっつけると
一束の処理
となります。
■検索してみる?






