IMS
出典: フリー百科事典『ウィキペディア(Wikipedia)』
IMS( Information Management System、あいえむえす)は、IBM社が提供する汎用機の階層型データベースマネジメントシステムとインフォメーションマネージメントシステムとトランザクション処理システムが結合したシステムである。IMS DB/DC と呼ぶ。
RDBMS(リレーショナルデータベースマネジメントシステム) をリードしてきた DB2 も、IMS に搭載されるDBMS(データベースマネジメントシステム)として開発されてきた。
IBMは1966年、ロックウェル・インターナショナル、キャタピラー社とともに、アポロ計画のために IMS の設計を始めた。IMS は、サターン5型ロケット(サターンロケット)やアポロ宇宙船の膨大なパーツを整理しその目録を作るために開発された。
最初の「IMS READY」というメッセージは、1968年8月14日、カリフォルニア州 Downey の IBM 2740 端末に現れた。以来 IMS は40年以上に渡って、システム/360 で動く重要なミドルウェアの1つとして生まれてから、2000年代初頭の z/OS や System z9 で動く2005年現在に至るまで、稼動し続けている。IMS は2005年現在、Java言語、JDBC、XML、Webサービスをサポートする。
ヴァーン・ワッツ(Vern Watts)は、IMS のチーフ・アーキテクトである。ワッツは1950年代後半に IBM に参加し、2005年現在も IBM のシリコンバレーの研究所で働いている。彼は、1960年代からずっと、IMS に関わる仕事をしている。
目次 |
[編集] IMS DB
DEDB は VSAM の上にのみ、作成することができる。DL/I データベースは VSAM、OSAM 両方の上に作成することができる。どのアクセス方式にデータベースを作成できるかは、データベースの編成によって決まる。2005年現在では、 z/OS の VSAM データセットのサイズは最大128テラバイトだが、IMS が扱える VSAM データセットの大きさは4ギガバイト、OSAM データセットは8ギガバイトに制限されている。これは、IMS のユーザーが、大量のデータを扱う場合はマルチ・データセットを使うことによる。「VSAM」や「OSAM」は通常、アクセス方式の例として言及される言葉である。IMS データベースの論理的な VIEW としては、データベースの編成として言及される(HDAM、HIDAM、HISAM、ほか)。内部のデータは、4バイトのポインターまたはアドレスによってリンクされる。データベースが作成されているデータセット上では、RBA (relative byte addresses) として言及される。
[編集] IMSの基本的な3つの階層型データベース
[編集] フル・ファンクション・データベース
- DL/1データベースと同様に、アポロ計画のために開発された。フル・ファンクション・テータベースは、プライマリ/セカンダリ インデックスを持つことができ、業務アプリケーションプログラムからは DL/Iコール でアクセスする。DB2 や Oracle Database のような SQLコール とは異なっている。
- フル・ファンクション・テータベースは複数のアクセス方式 (access method) を持つ。HDAM (Hierarchical Direct)、HIDAM (Hierarchical Indexed Direct) が主要なアクセス方式である。他に、SHISAM (Simple Hierarchical Indexed Sequential)、HSAM (Hierarchical Sequential)、HISAM (Hierarchical Indexed Sequential) がある。
- フル・ファンクション・テータベースのデータは z/OS ネイティブなアクセス方式 VSAM か、OSAM (Overflow Sequential) を使ってストアされる。これらは IMS のアクセスパターン用の I/Oチャネルプログラムに最適なものである。とりわけ、OSAM は IMSデータベースへのシーケンシャルなアクセスにパフォーマンス上の大きな利益をもたらす(OSAM Sequential Buffering)。
[編集] ファスト・パス・データベース
- DEDB (Data Entry Databases) および MSDB (Main Storage Databases) は、ファスト・パス・データベースの2つの型である。どちらの型も、インデックスを持つことができる。このデータベースは、トランザクションのアクセスが多いデータベースに向いている。IMS の最新のバージョンでは、VSO (Virtual Storage Option) 機能が、DEDBがMSDBに置き代わることを可能にしているので、MSDB は徐々に姿を消しつつある。
[編集] High Availability Large Databases (HALDB)
- IMS V7 から実装された。フル・ファンクション・データベースの可用性を高め、巨大なデータベースを扱うことを可能にしたものである。IMS V9 から、オンライン再編をサポートするようになった(サードパーティによる製品では、IMS V9 より前からオンライン再編を実施するツールは在った)。
[編集] IMS DC ( IMS TM )
IMS はまた、強力なトランザクションマネージャーとして知られる( IMS DC または IMS TM )。CICS ( Customer Information Control System )、Java EE または J2EE( Java Platform, Enterprise Edition または Java 2 Platform, Enterprise Edition、特にWebSphere アプリケーション・サーバー上で稼動する )と並んで、3大トランザクションマネージャー の1つ、といわれている。トランザクションマネージャーは、エンドユーザーと業務処理を行う業務アプリケーション(たとえば銀行の預金引き出しシステム)との間に立ち(VTAM や TCP/IP、3270やWebユーザーインターフェースを通して)、業務アプリケーションがレコードを処理し、正しくデータストアに格納し、プロセスが終了するまでその状態を維持する。IMS TM ( IMS DC ) は、データベースに問い合わせ、更新するインターフェースを提供するという点において、たとえば CGI プログラムで稼動する web アプリケーションに似ている。IMS TM ( IMS DC ) のバックエンドデータベースとしては、IMS DB か DB2 が置かれるのが典型的なパターンである。
IMS TM ( IMS DC ) はメッセージングとキューイングのパラダイムを用いる。IMS のコントロールプログラムは端末から入力された(打鍵された)トランザクションを受け取り、メモリまたはデータセットに用意されたメッセージ・キューにストアする。IMS は次に、メッセージ・キューに格納されたトランザクションに対するスケジューラーを呼び出し、メッセージ・プロセッシング・リージョンに展開されている業務処理アプリケーションを起動させる。メッセージ・プロセッシング・リージョンは IMS のメッセージ・キューに格納したそのトランザクションを検索し、これを処理し、IMS または DB2 のデータベースを読み、更新し、そのトランザクションの正しいレコーディングを保証する。そして、もし要求があれば、IMS は、応答メッセージを IMS メッセージ・キューに格納する。そのメッセージはメッセージ・キューから取り出され、IMS のコントロールプログラムはトランザクションが入力された(打鍵された)最初の端末へ、そのメッセージを送り返す。IMS TM ( IMS DC ) は、1秒間に何千、何万という単位で、このプロセス全体をハンドリングする。
ビジネスや行政は、そのトランザクションを処理する環境を必要とした。IMS TM ( IMS DC ) は、簡単に、使いやすい形で、信頼性高く、効率的なトランザクション処理を行うスタンダードな環境を提供する。実際、世界中の銀行業界はこの IMS に頼っている。アメリカ合衆国の連邦準備制度もそうである。ATMからの預金引き出し要求は、IMS トランザクションのトリガーである。最近(2005年から見て)、急速に発展する国の金融業を支えるため、中国の数行の銀行が IMS を購入した。報道によれば、そのときの IMS 単体の価格は、1年間で10億USドルだそうである。