【2008/11/05 original author TAKAO】
IBMのデータベース管理システムにIMS Fast pathというものがあります。これは、日本の大手銀行や大手製鉄所の要求により、最初は作られました。従来のIMSと違い、パフォーマンスを追及した製品です。現在、次のような特徴をFast Pathはもっているといわれています。
- データベースの容量が大きい(4GB以上をサポート)
- 構造は単純だから、キーにアクセスするとすぐにデータも入手できる
- 通常、DL/1より処理が単純
- ログ、データベースすべて冗長性をもてる
- データベース再構成などのメンテナンス時間が短い
- インサート、デリートがすばやくできる
- I/Oは最小化されている
これらは、もちろん犠牲もあります。複雑なデータベース構造はできない。データベースレコードの場所を決めるランダマイザー(ハッシュ)を作らねばならない、トランザクションのアトミックが荒い、などなど。大量のトランザクションを処理するという至上命題のため、開発、運用側にしわ寄せがくるのは仕方がないことかも知れません。
この図は、IMS FastPathのシステム概念を表しています。通常のIMSはメッセージキューというデータベースにメッセージが格納されますが、Fast Pathはコントロールリージョン内にある、EMH(Expedited Message Handler)といわれるメッセージルーティングにより、即座に処理リージョンに渡されます。ある程度のキューはもっていますが、あまり滞留はしません。リージョンが即座に処理できるのは、特定のトランザクションコードに応じたプログラムをあらかじめ、ローディングしているからです。(少し厳密にいうと、Load Balancing Groupにふりわけられ、空いているFPリージョンに渡される)この常駐していて、トランザクションを即座に処理する動作をWait for Inputといいます。
DBRCはリスタートリカバリーをつかさどるため、IMSのシステムの状況をすべてRECONというデータセットに書き込んでいます。IRLMはデータベースのロック情報を保持しています。データベースをシステム同士で共有する場合はロック情報がやりとりされます。
IMS用語で、メッセージが入ってくることをエンキューといい、出て行くことをデキューといいます。MVSのENQ,DEQと混同しないようにしましょう。
データベースはDEDBというVSAM ESDSを利用しながらも、早いアクセスを実現したDBMSです。これは、VSAM Media Managerを使い論理レコード(CI)の単位でアクセスするため、CIの集まりをUnit of Work(UOW)という概念でまとめ、一度にアクセスできる大きさをあらかじめ決めてあります。オーバーフロー域はあらかじめ決められており、independent Overflow域をあふれてしまうとトランザクションはエラーで返されるため、常に監視が必要です。
ログも通常IMSと違うログレコードNo.をもっています。Fast Pathに比べた普通のIMSをFull Function IMSといいます。両方をひとつのシステムで使うことも可能なのですが、Fast Pathを生かすために、あまり混在では使わないようです。
【2008/11/05 original author TAKAO】