バッチ処理

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire
  1. バッチ処理(ばっちしょり)とは、コンピュータでプログラム群を処理目的ごとに区切り、この区切り毎に順次実行してゆく処理のこと。本項で詳述する。
  2. バッチ処理(ばっちしょり)とは、ひとつの設備である程度まとまった時間、または単位操作ごとに処理を区切り、原材料をこの区切りごとにまとめて投入する処理のこと。回分処理(かいぶんしょり)も同義。発酵工程などは典型的なバッチ処理である。反対語は逐次処理または連続処理

目次

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

バッチ処理(バッチしょり)とは、コンピュータで1つの流れのプログラム群(ジョブ)を順次に実行すること。あらかじめ定めた処理を一度に行うことを示すコンピュータ用語。反対語は逐次処理またはリアル処理

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

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

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

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

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

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

現在では「バッチ」と言えばUNIXオペレーティングシステムが連想される。様々な計算ジョブを制御された順番に行う強力なユーティリティがUNIX向けに存在する。このようなユーティリティをジョブ管理システムという。ジョブ管理システムは各種UNIX用やWindows用のパッケージが市販されている。

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

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

最近の傾向

COBOL2Javaに遷移している理由

  • COBOL技術者を確保するのが難しくなってきた。(C技術者も確保が難しい傾向)
  • Java技術者が一番人員として確保しやすい。
  • JavaのnioパッケージによりJavaの実行速度が上がってきた。

課題点

  • 単純構造定義によるファイル読書き、エリア参照による計算処理に関しては明らかにCOBOLの方が速いのでそれを踏まえた再設計が必要。(単純置き換えの場合は明らかにJava側のほうが遅くなる)

バッチ管理システム

  • Spring Batch
  • Java Batch System - 現在β版
  • blancoBatchProcess - 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
  • Real timeFramework Architecture - フューチャーアーキテクト

関連項目

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net