IMS

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
Information Management System (IMS)
開発元 IBM
最新版 V13 / 2013年10月発表
対応OS z/OS
種別 トランザクションモニター / DBMS
ライセンス プロプライエタリ (IPLA)
公式サイト IMS family
テンプレートを表示

IMS英語: Information Management System、アイエムエス)は、IBM社が開発・販売する、メインフレーム専用のデータマネジメントシステム。最新版の名称は「IMS 13 Transaction and Database Servers」[1]。IMSはトランザクション処理システムであるIMS TM(IMS Transaction Manager)と、階層型DBMSであるIMS DB(IMS Database Manager)から構成される。

概要[編集]

IMSは、商用では初めての本格的なデータマネジメントシステム(情報管理システム)であり、特に高い信頼性・可用性・処理速度・容量が求められるデータ処理に使用される。

IMSは以下の2機能から構成される。

  • IMS Transaction Server
トランザクション処理システム。IMS Transaction Manager (IMS TM)により実現される。旧称はIMS Data Communication(IMS DC)。
  • IMS Database Server
階層型データモデルデータベース管理システム。IMS Database Manager (IMS DB)により実現される。

上記2機能は、1機能のみの使用もできるため、2機能をまとめてIMS TM/DB(旧称IMS DB/DC)とも呼ぶ。IMS DBを別のトランザクション処理システム(CICSなど)と組み合わせることもできる。RDBMS(リレーショナルデータベース管理システム)であるDB2も、IMS に搭載されるDBMS(データベース管理システム)として開発されてきたと言われる。

IMSは、IBMメインフレームの専用オペレーティングシステムである、MVSOS/390z/OS上でのみ稼動する。同じIBMメインフレーム専用OSでも、VMVSEでは稼動しない。(MVS系の基本機能である、複数アドレス空間を使用しているため。)

特徴[編集]

以下の理由から、非常に大規模な情報システムに使われる。

  • データベースが階層型データモデルであり、応答時間(レスポンスタイム)をかなり正確に見積もれる
  • 特に参照頻度の高いDB(テープル)はメモリ上に展開できる
  • 高機能クラスタであるXRF(専用のネットワーク機器と連携し、引継ぎ時の瞬断がほとんど無い)
  • (IMSに限らないが)修正プログラム(FIX)等も単体で取寄せ・適用できる

ただし以下のように専用の知識(スキル)が必要である。

  • プログラム開発にはデータ照会言語DL/Iを使用する
  • 運用管理にはメインフレームの知識、費用が必要

実績[編集]

2011年現在、大手の金融、製造、運輸などで基幹業務用に使用されている。

  • 金融機関
    勘定系システム#大手行の勘定系システム を参照
    特に大規模なシステムでは、IMS/ESAに金融機関向けパッケージ「SAIL/ESA」(System Development Aid for IMS/ESA On-Line Applications) [2] を組み合わせ、SAIL/ESA の提供するAPI(マクロ)でアプリケーションを構築する場合が多い。
  • 運輸

歴史[編集]

IBM1966年ロックウェル・インターナショナルキャタピラー社とともに、アポロ計画のために IMS の設計を始めた。IMS は、サターンVロケットサターンロケット)やアポロ宇宙船の膨大なパーツを整理しその目録を作るために開発された。

最初の「IMS READY」というメッセージは、1968年8月14日カリフォルニア州 Downey の IBM 2740 端末に現れた。以来 IMS は40年以上に渡って、System/360 で動く重要なミドルウェアの1つとして生まれてから、2000年代初頭の z/OSSystem z9 で動く2005年現在に至るまで、稼動し続けている。IMS は2005年現在、JavaJDBCXMLWebサービスをサポートする。

ヴァーン・ワッツ(Vern Watts)は、IMS のチーフ・アーキテクトである。ワッツは1950年代後半に IBM に参加し、2005年現在も IBM のシリコンバレーの研究所で働いている。彼は、1960年代からずっと、IMS に関わる仕事をしている。

1987年には、IMSのクラスタリングであるExtended Recovery Facility(XRF、拡張回復機能)が登場した[4]

2009年10月には、IMS V11 Transaction and Database Servers が発表・出荷された[5]

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/Iデータベースと同様に、アポロ計画のために開発された。フル・ファンクション・データベースは、プライマリ/セカンダリ インデックスを持つことができ、業務アプリケーションプログラムからは DL/Iコール でアクセスする。DB2Oracle 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つの種類の編成方式が存在する。どちらの編成もインデックスを持つことは出来ないが、DEDBはインデックスの替わりにランダマイザと呼ばれるプログラムを用いて、キーからレコードの位置を特定する。MSDBはレコードを全てメモリ上に展開するDBであり、小規模で特にアクセス頻度の高いDBに向いている。IMS の最新のバージョンでは、DEDBにおいてもVSO (Virtual Storage Option) 機能によりDBをメモリ上に展開することが可能となっている。またそれに加え、MSDBはSYSPLEX環境での共用が不可能なため、MSDBは徐々に姿を消しつつある。

High Availability Large Databases (HALDB)[編集]

IMS V7 から実装された。フル・ファンクション・データベースの可用性を高め、巨大なデータベースを扱うことを可能にしたものである。IMS V9 から、オンライン再編をサポートするようになった(サードパーティによる製品では、IMS V9 より前からオンライン再編を実施するツールは在った)。

IMS TM (IMS DC)[編集]

IMS はまた、強力なトランザクション処理ソフトウェアとして知られる( IMS TM または IMS DC )。CICS ( Customer Information Control System )、Java EE( Java Platform, Enterprise Edition、特に WebSphere Application Server 上で稼動する )と並んで、3大トランザクション処理ソフトウェアの1つ、といわれている。トランザクションマネージャーは、エンドユーザーと業務処理を行う業務アプリケーション(たとえば銀行預金引き出しシステム)との間に立ち(VTAMTCP/IP3270Webユーザインタフェースを通して)、業務アプリケーションがレコードを処理し、正しくデータストアに格納し、プロセスが終了するまでその状態を維持する。IMS TM ( IMS DC ) は、データベースに問い合わせ、更新するインタフェースを提供するという点において、たとえば CGI プログラムで稼動するウェブアプリケーションに似ている。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ドルだそうである。

関連項目[編集]

脚注[編集]

[ヘルプ]
  1. ^ IBM Information Management System (IMS) 13 Transaction and Database Servers は、ハイパフォーマンスと総所有コストの削減を実現します - 日本IBM
  2. ^ 日本IBM SAIL/ESA 概説書”. 2008年3月21日閲覧。
  3. ^ 日本IBM お客様導入事例・日本航空”. 2008年2月17日閲覧。
  4. ^ IMS XRF and Parallel Sysplex: A Positioning Paper
  5. ^ IMS Version 11 Transaction and Database Servers の公表 - 日本IBM

外部リンク[編集]