バッチ・ジョブとは、同様のタスクをグループ化し、人間の介入を必要とせずにそれらを自動的に実行する、定期的に発生する自動化されたプロセスのことです。
現代の労働時間は何時間ですか。バッチ処理システムを最大限に活用している先進的な企業にとって、達成できないことはあまりありません。最適化されたビジネス・プロセスと自動化のパワーを組み合わせると、特に複数のバッチ・ジョブを同時に実行しているときに、大量のデータを処理できます。
ジョブのスケジューリング支援のためにバッチ・プログラムを使用すると、反復的なタスクの成功率が高くなります。バッチ・ジョブをロードして実行準備を維持するにはある程度の人間の操作が必要ですが、バッチ・ジョブの主な機能の1つは、継続的なユーザー操作が必要ないという事実であり、オペレーター・エラーのリスクも軽減されます。
バッチジョブの準備には2つのプロセスがあります。1つ目は、必要なワークフローを決定し、それに応じてジョブ・キューをロードすることです。
その後、オペレーティング・システムが引き継ぎ、システムが大量データを処理できるデータ処理アクションを開始します。その後、ジョブ処理は大量のデータ・セットをプッシュします。
企業は必要に応じてバッチ・プロセスを実行するように設定できますが、通常は、始業時(BOD)のアクティビティーや終業時(EOD)のアクティビティーとして自動的に実行されるように設定されます。BODプロセスを使用する場合は、その日のバッチが実行される前に、トランザクション入力終了(EOTI)が実装されます。プロセスが一日の終わりに行われる場合、バッチの実行が終了すると、財務入力終了(EOFI)が生成されます。
バッチ・ジョブは組織のコンピューティング出力を大幅に増加させますが、バッチ・ジョブの使用には特段の注意事項があります。バッチ・ジョブは、その使用方法や量によっては、企業のコンピューター・システムに大きな負担となる可能性があります。
このため、バッチの実行は、通常、コンピューティング・リソースの負担が少ない時間帯に合わせてスケジュールされます。この時間帯は、バッチ・ウィンドウと呼ばれます。
現代のバッチ・ジョブの起源は、パンチカードが自動化の主要な手段であった初期のコンピューティングにおける最初のバッチ・ジョブにまでさかのぼります。当時、「バッチ・ジョブ」という言葉が使われるようになりましたが、これはパンチカードにさまざまな形式のデータが格納され、そのプログラムをどのように実行すべきか、いつプログラムの実行を停止すべきか、といった指示をメインフレームコンピュータに送るために使われていました。
複数のジョブのパンチカードがすべてカードリーダーのホッパーに積み重ねられており、特定のパンチカードがそれらの異なるジョブを分離し、個々のプログラムの実行方法についてカードリーダーに通知していました。
この技術は1890年までさかのぼります。当時、ハーマン・ホレリスという米国国勢調査局の職員が、穴があいた紙のカードを使って特定の情報を示す方法を考え出しました。その後、本質的にはカードとその情報を読み取り、電気信号をコンピューティング・デバイスに送信してさらに計算に使用する電気機器を作成しました。
ホレリスはその後、Computing Tabulating Recording Companyを設立しました。この会社はInternational Business Machines(IBM)という名前で世界的に知られることになり、現在もこの名前を使っています。
バッチ・ジョブには、主に 3 つの種類があります。
これは、ジョブ・キューに存在する標準バッチ・ジョブであり、最終的に優先順位とシーケンス番号に基づいて処理されるまで、他のバッチ・ジョブとともに待機します。
コンピュータ用語で「ジョブ」は作業単位を表し、そのジョブのためにサブタスクが作成されると、元のタスクはサブタスク、つまり「子」の「親」と言われます。バッチ即時ジョブ(子)は、親ジョブと同じ属性の多くを共有する場合があります。また、ジョブは親ジョブから属性をコピーするため、ジョブ・キューで待つ必要がなく、即時バッチ・ジョブがより迅速に処理されます。
印刷アプリケーションまたはユーティリティーに印刷ジョブが与えられると、ジョブの実行方法をシステムに通知するプリンター出力ファイルが作成されます。現在のユーザー・プロファイルがバッチ印刷ジョブに作成されたユーザー・プロファイルと異なる場合、バッチ印刷ジョブはこれらのプリンター出力ファイルを追跡します。
以下は、バッチ・ジョブが使用される主な目的の一部です。
バッチ処理は最も基本的なタイプの処理であり、一定期間中にタスクが収集され、最終的にバッチで実行されます。これは、時間が主要な要素ではないタスクを処理する際によく選択されます。バッチ処理は、日常的なレポートの生成に最適です。
分散処理は、ビッグデータ・アプリや大規模なコンピューティング・システムの効率化を目的として、相互接続された一連のコンピューターまたはコンピューター・サーバーに依存してデータ処理タスクを分散または共有します。
マルチプロセッシングは分散処理と同様に動作します。同じように、マルチプロセッシングではさまざまなプロセッサーを使用してバッチ・ジョブを処理します。違う点としては、コンピューターは並列ではなく、必要な割り当てを分解し、システム間に分割しています。
Red Hat OpenShift on IBM Cloudは、フルマネージドのOpenShiftコンテナ・プラットフォーム(OCP)です。
コンテナ・ソリューションは、セキュリティー、オープンソースのイノベーション、迅速なデプロイメントにより、コンテナ化されたワークロードを実行およびスケールアップします。
IBMのクラウド・コンサルティング・サービスで新しい機能にアクセスし、ビジネスの俊敏性を高めましょう。ハイブリッドクラウド戦略や専門家とのパートナーシップを通じて、ソリューションを共創し、デジタル・トランスフォーメーションを加速させ、パフォーマンスを最適化する方法をご覧ください。