RDB化による機能変更

本付録では、OpenFrame NDBのUNIX/LinuxまたはRDB化により、富士通AIM/DBに対して変更された機能について説明します。

これらの機能は、NDBのアプリケーション動作には影響を与えず、変更後にもホストと同様な動作を保証します。

1. 物理ストレージ構造の管理機能

AIM DBと以前のNDBは、レコードをデータセットに格納しており、レコードを格納するアドレスを決定するためにレンジとページという概念が使われていました。各レコードは、レコードのサイズによってレンジでの位置が決まり、1つのレンジに格納できるレコードは、PRIME領域とOVERFLOW領域のサイズを指定して決定します。ページは、基本的にDBエンジンによって決まりますが、ユーザー・ランダム格納モードでユーザーが直接決定できる機能もあります。

新しいOpenFrame NDBでは、RDB表をレコードの格納領域として使用するため、ADLスキーマのデータセットとページの概念やPRIME領域とOVERFLOW領域の概念は廃止されました。OpenFrame NDBは、基本的にすべてのレコードを同じ論理ページに格納します。ただし、ユーザー・ランダム・ページ指定機能は、引き続き使用できるため、その機能を使用してユーザーがページを直接決定する場合は、ページ番号を表に列として定義して一緒に保存します。

2. SLSとMLS

AIMD DBでのSLSとMLSは、AIM DBで各レコードが格納されるアドレス値のスキームであり、MLSはSLSよりも多くのデータを保存できます。

OpenFrame NDBでは、レコードの物理アドレスの概念が廃止され、レコードが表に格納されるため、レコードごとに格納できる最大レコードのサイズは、使用するターゲットRDBによって定義された表領域の制限(Tiberoの場合は32GB)に従います。また、各レコード・タイプごとの最大レコード数は、NDBのOCC_ID構造に応じて、4バイトの符号なし整数の最大値である4294967295です。

3. 可変長レコードとフィールド圧縮

AIM DBでは、レコードのフィールドを常に使用される固定部と、場合によって使用の有無が変更される可変部に分けて処理することができます。また、特定のフィールドのスペースとゼロ値を無視するフィールド圧縮を利用してストレージ・スペースの効率を高めました。

OpenFrame NDBは、ADLのスキーマ・レコード定義に従ってRDB表を定義して使用するため、データの構造が固定され、可変長レコードとフィールド圧縮機能は使用されなくなりました。

4. JCLユーティリティ

AIM DBと以前のNDBで使用していた以下のJCLユーティリティは、このバージョンから廃止されます。

JCLユーティリティ名 機能 廃止理由

JXHADINT

物理ストレージの作成と初期化

ndbmgrに置き換えられる

JXHIXGEN

索引の作成

ndbmgrに置き換えられる

JXHDBUTY

ページ、セット、レコード情報を出力

物理ストレージ構造の変更によってホストの仕様と合わないため廃止

JXHDBCLR

物理ストレージ領域でデータが削除された領域をクリーンアップ

RDB化によって不要となる

JXKPTRCK

セットの接続状態が有効であることを確認し、孤立したレコードをレポート

JXKLMOVE

物理ストレージの移動

RDB化によって不要となる

JXYXIGEN

拡張索引の管理

拡張索引の作成はndbmgrが担当し、RDB索引として定義されるため廃止

JXYXIDBR

拡張索引の作成に必要な情報を収集

拡張索引がRDB索引として定義されるため廃止

JXYXIRED

既存の拡張索引から情報を収集

拡張索引がRDB索引として定義されるため廃止

JXYXIRPT

拡張索引の情報を出力

拡張索引がRDB索引として定義されるため廃止