メモ

銀行のシステムはどのような仕組みか、プログラマーがIBMメインフレームのCOBOLプログラマーだった母親にインタビューした結果を公開


自身もプログラマーというトム・ジョーデルさんが、大手銀行でIBMメインフレームのCOBOLプログラマーとして働いているという自身の母親に銀行のシステムについてインタビューしました。

Interviewing my mother, a mainframe COBOL programmer
https://ezali.substack.com/p/interviewing-my-mother-a-mainframe


ジョーデルさんの母親は1991年にノルデア銀行で社内研修を始めました。研修の間にさまざまなテストが行われ、そのうちの心理テストやマルチタスクテストにおいてジョーデルさんの母親はひどいスコアを取ってしまったとのこと。一方、IQテストなどその他のテストでは非常に良いスコアを獲得し、研修後にはIBMメインフレームのCOBOLプログラマーのポジションを割り当てられました。

技術的な観点から見ると、IBMメインフレームのCOBOLプログラマーという役職は銀行内で最も重要なポジションで、仮にチーム全員が仕事を辞めた場合、数週間で銀行は倒産する可能性があるとのこと。チームではローテーションが組まれており、24時間年中無休で対応できるようになっています。時には日曜日の真夜中に呼び出されることもあったそうです。



COBOLは命令型の手続き型言語であり、2002年以降はオブジェクト指向になっています。言語自体には何の問題もありませんが、メインフレームプログラミングという文脈に限ると「知識のある若い人が居ない」という問題が発生しているとのこと。ジョーデルさんの母親は1964年生まれで、元のブログが書かれた2016年時点では52歳になっていますが、それでもチーム内で2番目に若いメンバーでした。なお、1番若いメンバーはジョーデルさんの母親の2歳年下とのこと。


IBMメインフレームのデータベースはIBMがアポロ計画用に構築した階層型データベースのIMSで、DL/1と呼ばれる言語で通信を行います。ノルデア銀行は一般的なSQLを利用するDb2への移行作業を進めていますが、データを単純にIMSからDb2へと移行するだけでなく、IMSの数千ものモジュールを更新する必要があり、既存データの量もあわせて考えると移行には数年かかる見通しです。

ノルデア銀行はIMSへの書き込みを可能な限り避けるため、2009年から7年間に渡ってトランザクションをDb2に保存しています。既に110億件のトランザクションがDb2に保存されており、それぞれのトランザクションのサイズは個人口座・法人口座などの違いによって異なりますが、仮に平均1KBだとするとトランザクションだけで約11TBものデータが保存されていることになります。なお、トランザクションは法律で10年間の保存が義務づけられているため、今後もデータ量は増加する見込みとのこと。

IMSにはトランザクション以外のほとんどの情報が保存されています。情報の種類によってデータ量が異なるため単純に見積もるのは難しいものの、Db2に保存されているデータ量よりはるかに大きいと推定されています。また、一部のデータはテープに保存されているため、プログラムの実行中に特定のテープからデータをロード・セーブするように指示されることもあるとのこと。

現代のプログラミングにおいては多くの場合統合開発環境(IDE)を利用しますが、メインフレームプログラミングにおいてはISPFというほとんどOSと言えそうなツールを利用するとのこと。ISPFはメインフレームに直接接続されているため、ローカル開発環境のようなものは存在しません。


ノルデア銀行のシステムの80%はバッチジョブで、特定の時間に実行されてデータに対して何らかの処理を実行したり、他の銀行や機関にデータを送信したりします。例えばコーラを購入した場合、購入代金はすぐに口座残高から引き落とされますが、バッチジョブが実行されるまでお金は銀行に残ったままです。バッチジョブはギガバイト単位のデータを処理しますが、場合によってはテラバイト単位のデータを処理して完了までに数時間かかることもあります。バッチジョブは通常夜間に実行されるため、銀行間の取引が完了するまでは通常1日かかる一方で、同じ銀行への送金は即座に実行されるとのこと。

ジョーデルさんはRedditHacker Newsにこのブログ記事を投稿し、「質問があれば母親に聞いてみる」と質問を募集しました。その結果が元のブログには多数掲載されているため、気になる人は確認してみてください。

この記事のタイトルとURLをコピーする

・関連記事
1959年に開発されたプログラミング言語「COBOL」が抱える現代の問題にIBMはどう立ち向かっているのか? - GIGAZINE

IBMがAIを活用してCOBOL言語をJavaに変換するツール「Watsonx Code Assistant for Z」をリリースすることを発表 - GIGAZINE

新型コロナウイルスの影響で「半世紀以上前のプログラミング言語の使い手」が急募される事態に - GIGAZINE

映画「ターミネーター」で描かれた2029年の未来でもCOBOLが現役なことが判明 - GIGAZINE

IBMがCOBOLプログラマーの募集と育成に本腰、現役を退いたベテランに熱視線 - GIGAZINE

in メモ,   ソフトウェア, Posted by log1d_ts

You can read the machine translated English article here.