当記事の著作権はIBMに帰属します。
詳細はこちらを参照ください。
1. はじめに
前回は、IMSにおけるデータ共用の概念とその仕組みについて詳しく見てきました。今回は、データ共用可能なIMSのデータベースの種類や特徴、選定のポイントについて解説します。
関連記事
シリーズ「IMSのデータ共用について」
- 第1回 IMS のデータ共用について
- 第2回 データ共用の仕組み
- 第3回 IMSのDBについて ★本記事
- 第4回 IMSデータ共用における耐障害性
本シリーズの背景・目的
2. 階層型データベース
IMSのデータベース管理機能の特徴である階層型データベースとは、データベース内のデータの構造が階層型(ツリー)になっているデータベースです。1つの親データに複数の子データが系統的・ツリー構造的に結合されています。具体例は下図のとおりです。
【図:階層型データベース例】

<用語説明>
・セグメント:IMS が保管できる最小のデータ単位。適用業務プログラムのI/Oの単位。
・ルート・セグメント:DBの最高位レベルのセグメント。1レコードに必ず1つだけ存在する。
・従属セグメント:ルート・セグメントより、下位レベルにある全てのセグメント。
・オカレンス:繰り返して発生しているデータ。
・レコード:1つのルート・セグメントとそれに従属するセグメント群の集合。
3. IMSのデータベースの分類
IMSデータベースは2つのタイプ、全機能(FF)と高速機能(FP)に分類されます。
それぞれのデータベースは、アクセス方式や構造、性能特性が異なり、用途やシステム要件に応じて使い分けられます。
また、各種のデータベースは、使用するアクセス方式に応じて、順次記憶方式と直接記憶方式の2つのグループに分類することができます。
■順次記憶方式
データベース・レコードの各セグメント・オカレンスが、階層順に隣接してディスク装置内に格納される。
【図:順次記憶方式のデータセット格納イメージ】

■直接記憶方式
データベース・レコードの各セグメント・オカレンスが、ポインター(直接アドレス・ポインター)によって関連付けられてディスク装置内に格納される。
【図:直接記憶方式のデータセット格納イメージ】

<まとめ>
IMSのどのデータベース形式を選択するかは、使用用途から判断する必要があります。たとえば、更新頻度が高く、複数のIMSシステムからの同時アクセスが想定される場合は、HIDAMやDEDBのような形式が適しています。一方で、読み取り中心のバッチ処理などでは、HISAMのようなシンプルな構造が有効な場合もあります。次の章からはHIDAMとDEDBに絞って詳しく説明します。
4. HIDAMについて
■特徴
HIDAMデータベースは索引データベース、HIDAMデータ・データベースの2つから構成される。ルート・セグメントへのアクセスは索引データベースを通して行われる。最大で40GB(10データセット × 4GB)まで拡張可能。
基本的に対象のルートセグメントの位置を索引(インデックス)を使って特定し、対応するCIにセグメントを格納する。しかし十分なスペースがない場合、HDスペース検索アルゴリズムを使用して、他のCIの中から最適な格納場所を探し、セグメントを格納する。データベースロード時に1CI当たりのフリースペースの割合やN個ごとに空きCIを残す指定が可能。
5. DEDBについて
■特徴
DEDBは全機能データベースにはない区分化や多重化などのDEDB固有の機能により、高速処理、高可用性、大容量データベースを実現している。索引部を持たず、ランダマイザーを用いてデータにアクセスしている。また、セグメントの種類はHDAMと同じ性格の直接従属セグメント (DDEP)とDEDB特有の順次従属セグメント (SDEP)を持つ。
<区分化>
1つのDBDで定義されたデータベースを「エリア」と呼ばれる複数の区分に分割すること。複数のデータセットに分割可能となり、最大で8TB(2048エリア × 4GB)()まで拡張可能。意図的に区分化することで、DASDへのアクセスを分散させ、競合の回避や並列処理の促進が可能となる。
() IMS V15.1以降、PTF適用およびDFSDFxxxにDEDBGT2K=Yを指定することで 9999エリアまで拡張可能。
<多重化(MADS)>
DEDBはDASD障害の対策として、エリアごとにデータセットのコピーを複数持たせる「多重化」が可能。この仕組みは MADS(Multiple Area Data Sets)と呼ばれ、最大で7つコピーできる。MADSの管理は、DBRCが担当し、各コピーの状態を個別に監視・管理する。
<順次従属セグメント(SDEP)>
DEDB特有のオプションでルートの直後に1つだけ定義できるセグメント。オンライン処理中は基本的に挿入専用で、順次に格納される。専用のユーティリティーを使って中身を順次ファイルとして取り出し、他のバッチ・プログラムの入力データとして利用することが可能。ジャーナルの記録、統計情報の収集、他プログラムへのデータ提供など、さまざまな用途に活用される。
■スペース管理
DEDBのエリアは下図のとおり、ルート・アドレス可能部分、独立オーバーフロー部分、順次従属部分の3つの部から構成されます。
<UOW>
ユーティリティーやBMPでの順次作業で、一連の連続した作業の単位となるもの。具体的には物理的に連続した複数のCIで構成される。UOWの大きさはユーザーが決定する。
<ルート・アドレス可能域>
UOWで構成されており、各UOWはさらに「基本部」と「従属オーバーフロー部」の2つの領域に分かれる。この割合はユーザーが設定可能だが、設定値は1つだけであり、ルート・アドレス可能域内のすべてのUOWに共通して適用される。基本部は、ランダマイザーによって直接アクセス可能な領域で、ランダマイザーが決定したルート・セグメントおよびその直接従属セグメントが格納される。一方、従属オーバーフロー部は、基本部に収まりきらなかったデータが格納される。この2つの領域はUOWごとに独立しており、あるUOWの従属オーバーフロー部には、そのUOWの基本部からあふれたデータのみが格納される。他のUOWのデータが混在することはできない。
<独立オーバーフロー域>
すべてのUOWのあふれデータを格納するために用意された場所。
<まとめ>
従属オーバーフロー部や、独立オーバーフロー部は、あくまでも、適用業務処理中に入りきらなかった場合の予備の部分です。データの更新、削除、挿入を繰り返すうちに、利用されない細切れになったフリースペースが散在するようになりパフォーマンスが悪くなります。データベースを長いこと使用していくうちに、オーバーフロー部分にデータが散在するようになるため、再編成作業が必要になります。
6. おわりに
今回は、IMSで使用可能なデータベースの種類と、それぞれの特徴について解説しました。単に仕組みを理解するだけでなく、使用するデータベースの特性を深く理解し、システム要件に応じた適切なデータベースの選定と設計を行うことが不可欠です。
次回は、データ共用における耐障害性にスポットを当てて解説していきます。第4回もぜひご覧ください。
この記事は、IBM Community Japanの主催する2025年ナレッジモール研究における「メインフレーム若手技術者の広場」の成果物です。




