キャリア

バッチ処理

八月 2022

バッチ処理


バッチ処理は、通常ジョブと呼ばれるスケジュールされたタスクで構成され、プログラムとデータを送信し、後で結果またはプログラムの成功/失敗の通知を受け取ります。かつてコンピューティングの初期の頃、すべてがバッチ処理で行われていました。ジョブは、コンピューター時間またはその他の必要なリソースの可用性、および結果が必要な時期に基づいてスケジュールされます。たとえば、給与計算ジョブは、給料日に小切手を配布するために時間内に終了する必要があります。初期のコンピューターはメモリが非常に限られており、ローカルストレージがなかったため、物事をそのように行う必要がありました。オペレーティングシステムを含むプログラムとデータは、パンチカードのスタック、リールツーリールテープ、後のディスクパックなどに別々に保存されていました。 FORTRANプログラムなどを実行する必要がある場合、最初に演算子がFORTRANコンパイラをロードし、次にすべてのFORTRANプログラムが一度に1つずつ実行されます。出力またはエラーがジョブの所有者に返されます。プログラムが失敗した場合、修正して再送信する必要があります

その後、タイムシェアリングと対話型のコンピューターが登場し、コンピューターがそれぞれ一度に複数のことを実行し、すぐにフィードバックを提供できるようになりました。これにより、最初に対話型プログラミング(および特に対話型デバッグの追加効率)、次に対話型プログラムが可能になりました。バッチ処理はオプションではなく要件になりました。

Fredrick Brooksは1975年に、「インタラクティブシステムは一部のアプリケーションではバッチシステムを置き換えない」と述べました。彼はこれが1995年に「まだ真実」だったことを繰り返した。ただし、給与や請求書などのことを考え始めると、ほとんどの企業にとってそれらは常に周期的です。たとえば、Amazon.comのアフィリエイトの場合、販売を紹介するたびに支払いを行うのではなく、毎月一定の時間に決められた最低額に達した人を特定し、それらに支払いを発行します人。法律および規制の会計要件では、書籍を閉じて、一定の間隔で特定のレポートを作成する必要があります。ホリデーカードリストは年に1回作成されます。バックアップはその性質上、バッチプロセスです。これらのことは、インタラクティブに行われることはほとんどありません。もしそうであれば、それらを処理しなければならない貧しい従業員にとって退屈な要件である可能性があります。

70年代半ばから90年代半ばまでに変わったのは、バッチジョブの管理に使用できるツールと専門知識です。メインフレームの世界には、バッチ処理を最適化し、依存バッチと相互作用バッチの相互作用を管理し、一般にバッチが正しく効率的に実行されることを確認するためのスケジューリングと専門ツールの専門家がいます。今日、メインフレームを使用している企業でさえ、それらの専門家の多くは退職し、交代していません。ほとんどの非メインフレームショップには、これらのスキルを持つ人はいません。それらのスキルはまれになり、理解が不十分になりました。バッチ処理はほとんど無視されます。これは、スケジュールされたジョブとスケジュールされたジョブと対話型処理の間でより多くのリソース競合を引き起こすため、残念です。さらに、バッチ処理の適切な候補であるジョブは、そのように認識されないことが多く、事前に実行できる作業は認識されません。もう1つの問題は、バッチ処理が主要なビジネスニーズとして認識されていないため、バッチ処理の適切な候補となるアプリケーションが人間の対話を必要とするように記述されていることです。現在、バッチスケジューリングはごく少数のコンピューターの専門家にとってのキャリアパスですが、仕事でバッチスケジューリングをどのように使用し、バッチ処理でどのように使用するかを考えることで、私たち全員がより効果的になります。

参照

ブルックス、フレデリックP. Jr. 神話上のマン月:ソフトウェアエンジニアリングに関するエッセイ。 4つの新しい章がある記念日版。 (マサチューセッツ州レディング、Addison-Wesley、1995年)


[itmtech]バッチ処理とは (八月 2022)



タグに関する記事: バッチ処理、コンピューターキャリア、バッチ処理、神話上の月、スケジューリング、基本スキル

赤いビートの卵

赤いビートの卵

フード&ワイン

スーパーボウルパーティー

スーパーボウルパーティー

フード&ワイン