Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能


3.2.2 セグメントの設計

ここでは,セグメントの設計をするために必要な情報について説明します。

〈この項の構成〉

(1) セグメントの状態

セグメントには次の表に示す状態があります。

表3‒2 セグメントの状態

セグメントの状態

説明

使用中セグメント

レコードまたはインデクスのデータを格納しているセグメントです。特に,データが満杯でセグメント内にデータを追加できないセグメントを満杯セグメントといい,データの削除でセグメント内の全ページが空きページ(未使用ページ)のセグメントを使用中空きセグメントといいます。

未使用セグメント

使用されたことがないセグメントです。このセグメントはRDエリア内のすべてのレコード(またはインデクス)が使用できます。

なお,データが格納されていないセグメントを空きセグメントといいます。使用中空きセグメントと未使用セグメントは,空きセグメントに分類されます。

(2) セグメント内の空きページの比率

HiRDB/SDデータベース作成ユティリティ(pdsdblod)によるレコード格納時に,使用中セグメント内に空きページを確保できます。どれだけの空きページを確保するかは,セグメント内の空きページの比率で指定します。

セグメント内の空きページの比率を次の図に示します。

図3‒3 セグメント内の空きページの比率

[図データ]

[説明]
  • この例ではセグメント内の空きページの比率を30%としています。したがって,10ページ中3ページが空きページになります。

  • セグメント内の空きページの比率は,SDBデータベース格納定義のPCTFREE句で指定します。セグメント内の空きページの比率は0〜50%の範囲で指定でき,省略値は10%となります。また,HiRDB/SDデータベース作成ユティリティ(pdsdblod)のenvironment文のrecfreeオペランドで,セグメント内の空きページの比率を指定することもできます。両方を指定した場合,recfreeオペランドの指定値が優先されます。

なお,セグメント内の空きページの比率の設定は性能に影響を及ぼします。詳細については,「3.2.5 レコード格納時の空き領域の作成(サブページ分割をしない場合)」または「3.2.6 レコード格納時の空き領域の作成(サブページ分割をする場合)」を参照してください。

(3) セグメントの確保と解放

RDエリアにレコードを格納する際,必要に応じてセグメントが確保されます。データの追加と削除を繰り返した場合,データ量が増えていないのにRDエリアが容量不足になることがあります。これを防ぐにはHiRDB/SDデータベース再編成ユティリティ(pdsdbrog)によるSDBデータベースの再編成を定期的に行ってセグメントを解放してください。

SDBデータベースの再編成については,次のどれかを参照してください。

なお,次に示す操作をした場合にもセグメントが解放されます。

(4) セグメントサイズの設計方針

セグメントサイズはデータの入出力時間およびディスク所要量に影響を与えるため,綿密に設計する必要があります。HiRDB/SDでは,レコードの近傍配置やデータのアクセス性能(同時実行性能)を考慮して,あらかじめレコードを格納しない領域(セグメント内の空きページの比率)を設計しておく必要があります。

セグメントサイズについては,「3.5.5(4) 平均的なファミリが使用するページ数またはサブページ数の算出」で算出したサイズにすることを推奨します。