バッチ処理

バッチ処理(バッチしょり)はバッチ単位でおこなわれる処理である。特に以下の2つの意味で用いられる。

  1. コンピュータでひとまとまりのデータを一括して処理する方式。本項で詳述する。
  2. ひとつの設備である程度まとまった時間、または単位操作ごとに処理を区切り、原材料をこの区切りごとにまとめて投入する処理のこと。回分処理(かいぶんしょり)も同義。発酵工程やバッチ殺菌などは典型的なバッチ処理である。反対語は逐次処理または連続処理

バッチ処理(コンピュータ)

データ処理におけるバッチ処理(バッチしょり)は、ひとまとまりのデータを一括して処理する方式である[1]。逐次生み出されるデータを一定期間・一定量集めたものをバッチといい、このバッチ単位で処理をおこなう方式がバッチ処理である。

比較される方式として、逐次生み出されるデータをストリームとして捉え到着したデータを順次扱うストリーム処理がある[2][3]。データをキューイングせず即時処理するリアルタイム処理とも比較される。

バッチ処理を直列につなぎパイプライン処理をおこなう(パイプラインを構築する)ことがしばしばおこなわれる。

「バッチ (batch)」という言葉は、プログラマプログラミングをする際、コードを書き、紙テープか80カラム仕様のパンチカードにパンチしていった時代の言葉。カードまたは紙テープはシステムオペレーターに渡され、オペレーターはタスクスケジューリングをし、コンピュータにカードまたは紙テープを投入していった。スケジューリングされたタスクは直ちにシステムに入れられたのではなく、一緒にまとめて投入されたので(バッチとは、複数の似ているものを1つのグループとして生産、処理すること、または一緒に集めて1つのユニットとして扱うこと。en:Batch processingより)、これらのタスクの集まりを「バッチジョブ」と呼ぶようになった。

バッチジョブは一度設定されると人間の手を煩わせることなく動作する。そのため入力データもスクリプトやコマンド行パラメータを通して予め用意される。この点でユーザーの入力を必要とする対話型プログラムとは対極にある。

バッチジョブは相互対話式の思想に基づく処理の仕組みではないが、IBMCICS のようなトランザクション処理システムもテクニカルな視点から見ればバッチジョブとして動いている。もっとも、その部分はユーザーから隠れて見えない部分である。

バッチ処理は歴史的にはメインフレームと同義だった。このクラスのコンピュータは非常に高価であるため、上述したような理由でバッチ処理が行われた。また、初期のコンピュータでは端末からの対話的利用はほとんど行われなかった。

MS-DOSバッチファイルの由来はここから来ている。

NECの情報管理ソフトの中にDataBooster(データブースター)という製品がある。これは通常夜間行われる日次月次のバッチ処理を高速化しようというもので、数十GB単位の大量のメモリーと専用の処理アルゴリズムによって、時間のかかる中間ファイルの生成を行わないところに特徴がある。

システム利用者が少ない・あるいはサービス提供時間外でシステム負荷が低い夜間に実行されるバッチ処理は「夜間バッチ」と呼ばれる。何らかの事情で夜間バッチが事前の想定時刻までに処理を完了できなかった場合は「突き抜け」と呼ばれる場合がある。[1]

利点

バッチ処理には以下のような利点がある。

  • 多くのユーザーがコンピュータのリソースを共有できる。
  • 処理をコンピュータのリソースがあまり忙しくない時間帯(多くは夜間、休日)にシフトできる。
  • 人間がついていなくてもコンピュータのリソースが暇にならないように最大限有効活用できる。
  • 高価なコンピュータをフルに活用することで費用対効果の効率向上に寄与する。
  • サービスを停止して行うバッチ処理の場合、データの整合性を保つことが容易となる。

欠点

  • 即時性が必要な処理には向かない。
  • 夜間バッチを使用して「突き抜け」が発生した場合、本来のサービスと合わせて負荷がかかり大規模なシステム障害を引き起こす可能性がある。

バッチ管理システム

  • Spring Batch英語版[※ 1]
  • Java Batch System[※ 2] - 現在β版
  • blancoBatchProcess[※ 3] - Excelから生成
  • SUNBATCH - サントリーシステムテクノロジー
  • ParallelFrame - メディア情報開発
  • オブジェクトワークス/BT JobManager - NRI
  • TERASOLUNA Batch Framework for Java - NTTデータ
  • Web Solid Framework - ワイ・エス・ピー
  • WebSphere Extended Deployment - IBM
  • Batch Execution and Control Environment for Java (JBeX) - 日本IBM
  • Quartz Enterprise Job Scheduler[※ 4]
  • Real timeFramework Architecture - フューチャーアーキテクト
  • Batch.dart[※ 5][※ 6]

脚注

注釈

出典

関連項目

🔥 Top keywords: メインページ宮崎麗果特別:検索豊後水道松本忠久土居志央梨若葉竜也能登半島地震 (2024年)田中雄士長谷部誠井上道義The GazettE若林志穂服部百音黒木啓司REITA虎に翼平井理央出口夏希サーブ (盲導犬)三鷹事件セウォル号沈没事故白眞勲三淵嘉子高橋克也 (オウム真理教)ME:Iルーシー・ブラックマン事件佐藤ありさ杉咲花蜜谷浩弥水野真紀亀井亜紀子 (政治家)熊本地震 (2016年)水原一平井川意高中川安奈 (アナウンサー)内藤剛志いなば食品YOSHIKI