バッチ・ジョブとは

2024年2月9日

執筆者

Phill Powell

Staff Writer

Ian Smalley

Senior Editorial Strategist

バッチ・ジョブとは

バッチ・ジョブとは、同様のタスクをグループ化し、人間の介入を必要とせずにそれらを自動的に実行する、定期的に発生する自動化されたプロセスのことです。

現代の労働時間は何時間ですか。バッチ処理システムを最大限に活用している先進的な企業にとって、達成できないことはあまりありません。最適化されたビジネス・プロセスと自動化のパワーを組み合わせると、特に複数のバッチ・ジョブを同時に実行しているときに、大量のデータを処理できます。

ジョブのスケジューリング支援のためにバッチ・プログラムを使用すると、反復的なタスクの成功率が高くなります。バッチ・ジョブをロードして実行準備を維持するにはある程度の人間の操作が必要ですが、バッチ・ジョブの主な機能の1つは、継続的なユーザー操作が必要ないという事実であり、オペレーター・エラーのリスクも軽減されます。

ビジネス街をバックにスマホを持つ手

The DX Leaders

「The DX Leaders」は日本語でお届けするニュースレターです。AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。

バッチ・ジョブの仕組み

バッチジョブの準備には2つのプロセスがあります。1つ目は、必要なワークフローを決定し、それに応じてジョブ・キューをロードすることです。

その後、オペレーティング・システムが引き継ぎ、システムが大量データを処理できるデータ処理アクションを開始します。その後、ジョブ処理は大量のデータ・セットをプッシュします。

企業は必要に応じてバッチ・プロセスを実行するように設定できますが、通常は、始業時(BOD)のアクティビティーや終業時(EOD)のアクティビティーとして自動的に実行されるように設定されます。BODプロセスを使用する場合は、その日のバッチが実行される前に、トランザクション入力終了(EOTI)が実装されます。プロセスが一日の終わりに行われる場合、バッチの実行が終了すると、財務入力終了(EOFI)が生成されます。

バッチ・ジョブは組織のコンピューティング出力を大幅に増加させますが、バッチ・ジョブの使用には特段の注意事項があります。バッチ・ジョブは、その使用方法や量によっては、企業のコンピューター・システムに大きな負担となる可能性があります。

このため、バッチの実行は、通常、コンピューティング・リソースの負担が少ない時間帯に合わせてスケジュールされます。この時間帯は、バッチ・ウィンドウと呼ばれます。

AI Academy

ハイブリッドクラウドでAI対応を実現

IBMのエキスパートが主催するこのカリキュラムは、ビジネス・リーダーが成長を促進するAI投資に優先順位を付けるために必要な知識を習得できます。

バッチ・ジョブの歴史

現代のバッチ・ジョブの起源は、パンチカードが自動化の主要な手段であった初期のコンピューティングにおける最初のバッチ・ジョブにまでさかのぼります。当時、「バッチ・ジョブ」という言葉が使われるようになりましたが、これはパンチカードにさまざまな形式のデータが格納され、そのプログラムをどのように実行すべきか、いつプログラムの実行を停止すべきか、といった指示をメインフレームコンピュータに送るために使われていました。

複数のジョブのパンチカードがすべてカードリーダーのホッパーに積み重ねられており、特定のパンチカードがそれらの異なるジョブを分離し、個々のプログラムの実行方法についてカードリーダーに通知していました。

この技術は1890年までさかのぼります。当時、ハーマン・ホレリスという米国国勢調査局の職員が、穴があいた紙のカードを使って特定の情報を示す方法を考え出しました。その後、本質的にはカードとその情報を読み取り、電気信号をコンピューティング・デバイスに送信してさらに計算に使用する電気機器を作成しました。

ホレリスはその後、Computing Tabulating Recording Companyを設立しました。この会社はInternational Business Machines(IBM)という名前で世界的に知られることになり、現在もこの名前を使っています。

3種類のバッチ・ジョブ

バッチ・ジョブには、主に 3 つの種類があります。

単純なバッチ・ジョブ

これは、ジョブ・キューに存在する標準バッチ・ジョブであり、最終的に優先順位とシーケンス番号に基づいて処理されるまで、他のバッチ・ジョブとともに待機します。

即時バッチ処理

コンピュータ用語で「ジョブ」は作業単位を表し、そのジョブのためにサブタスクが作成されると、元のタスクはサブタスク、つまり「子」の「親」と言われます。バッチ即時ジョブ(子)は、親ジョブと同じ属性の多くを共有する場合があります。また、ジョブは親ジョブから属性をコピーするため、ジョブ・キューで待つ必要がなく、即時バッチ・ジョブがより迅速に処理されます。

バッチ印刷ジョブ

印刷アプリケーションまたはユーティリティーに印刷ジョブが与えられると、ジョブの実行方法をシステムに通知するプリンター出力ファイルが作成されます。現在のユーザー・プロファイルがバッチ印刷ジョブに作成されたユーザー・プロファイルと異なる場合、バッチ印刷ジョブはこれらのプリンター出力ファイルを追跡します。

バッチ・ジョブの目的

以下は、バッチ・ジョブが使用される主な目的の一部です。

バッチ処理

バッチ処理は最も基本的なタイプの処理であり、一定期間中にタスクが収集され、最終的にバッチで実行されます。これは、時間が主要な要素ではないタスクを処理する際によく選択されます。バッチ処理は、日常的なレポートの生成に最適です。

分散処理

分散処理は、ビッグデータ・アプリや大規模なコンピューティング・システムの効率化を目的として、相互接続された一連のコンピューターまたはコンピューター・サーバーに依存してデータ処理タスクを分散または共有します。

マルチプロセッシング

マルチプロセッシングは分散処理と同様に動作します。同じように、マルチプロセッシングではさまざまなプロセッサーを使用してバッチ・ジョブを処理します。違う点としては、コンピューターは並列ではなく、必要な割り当てを分解し、システム間に分割しています。

関連ソリューション
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloudは、フルマネージドのOpenShiftコンテナ・プラットフォーム(OCP)です。

Red Hat OpenShiftの詳細はこちら
コンテナ・ソリューション

コンテナ・ソリューションは、セキュリティー、オープンソースのイノベーション、迅速なデプロイメントにより、コンテナ化されたワークロードを実行およびスケールアップします。

コンテナの詳細はこちら
クラウド・コンサルティング・サービス 

IBMのクラウド・コンサルティング・サービスで新しい機能にアクセスし、ビジネスの俊敏性を高めましょう。ハイブリッドクラウド戦略や専門家とのパートナーシップを通じて、ソリューションを共創し、デジタル・トランスフォーメーションを加速させ、パフォーマンスを最適化する方法をご覧ください。

クラウド・サービス
次のステップ

IBMのコンテナ・ソリューションでインフラストラクチャーをモダナイズします。IBMの包括的なコンテナ・プラットフォームを使用して、柔軟性、セキュリティー、効率性を備えたコンテナ化されたワークロードを環境全体で実行、拡張、管理します。

コンテナ・ソリューションの詳細はこちら 無料のIBM Cloudアカウントを作成