本文へスキップ
BecomeCoder

COBOLコース · 第7章 ファイル処理の基本 ― 順編成ファイル · レッスン35

なぜファイル処理がCOBOLの中心なのか ― バッチ処理という文脈

ローカル実施

導入

第1章で「COBOLは銀行や保険の基幹システムで、夜間のバッチ処理として動いている」と説明しました。この章から、その「バッチ処理」の実体に踏み込んでいきます。

説明

バッチ処理とは、大量のデータをまとめて一括処理する方式のことです。たとえば銀行の勘定系システムでは、日中にATMや窓口で発生した取引データがどんどん蓄積され、その日の営業が終わった夜間に、まとめて残高計算や利息計算が行われます。

これと対になるのが オンライン処理(リアルタイム処理)です。ATMで残高を照会したときにすぐ答えが返ってくるような、1件ずつすぐに処理する方式です。

バッチ処理オンライン処理
処理単位大量データをまとめて1件ずつすぐに
タイミング夜間・定時実行が多い利用者の操作に応じて即座に
月次の給与計算、日次の残高更新ATMでの残高照会、Web画面の操作

COBOLは特に、このバッチ処理の領域で長年圧倒的な実績を持っています。理由は次のとおりです。

  • 大量データを順番に読み込み処理する順編成ファイル処理(この章のテーマ)が、言語の基本機能として組み込まれている。
  • 第3章で学んだPICTURE句による正確な数値表現が、金額計算の誤差を防ぐ。
  • 数十年の運用実績により、信頼性と処理性能が実証済み

バッチ処理では、「ファイルを開く(OPEN)→1件ずつ読む(READ)→処理する→別のファイルに書く(WRITE)→閉じる(CLOSE)」という流れが基本の型になります。この流れを、次のレッスンから順番に学んでいきます。

試すには

「1日分の取引データを集めて、夜間にまとめて処理する」という仕組みが、なぜ「1件ずつすぐ処理する」より効率的な場合があるのか、考えてみてください(システムの負荷を分散できる、大量データをまとめて効率よく処理できる、といった利点があります)。