3.2.2 セグメントの設計
ここでは,セグメントの設計をするために必要な情報について説明します。
(1) セグメントの状態
セグメントには次の表に示す状態があります。
なお,データが格納されていないセグメントを空きセグメントといいます。使用中空きセグメントと未使用セグメントは,空きセグメントに分類されます。
(2) セグメント内の空きページの比率
HiRDB/SDデータベース作成ユティリティ(pdsdblod)によるレコード格納時に,使用中セグメント内に空きページを確保できます。どれだけの空きページを確保するかは,セグメント内の空きページの比率で指定します。
セグメント内の空きページの比率を次の図に示します。
- [説明]
-
-
この例ではセグメント内の空きページの比率を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データベースの再編成については,次のどれかを参照してください。
なお,次に示す操作をした場合にもセグメントが解放されます。
-
RDエリアの再初期化
-
SDBデータベースの削除
-
HiRDB/SDデータベース作成ユティリティ(pdsdblod)のenvironment文のpurgeオペランドにyesを指定したデータロードまたはフォーマットライト
(4) セグメントサイズの設計方針
セグメントサイズはデータの入出力時間およびディスク所要量に影響を与えるため,綿密に設計する必要があります。HiRDB/SDでは,レコードの近傍配置やデータのアクセス性能(同時実行性能)を考慮して,あらかじめレコードを格納しない領域(セグメント内の空きページの比率)を設計しておく必要があります。
セグメントサイズについては,「3.5.5(4) 平均的なファミリが使用するページ数またはサブページ数の算出」で算出したサイズにすることを推奨します。