前のページ|次のページ

SPD Engineデータセットの圧縮

COMPRESS=YES|BINARY|CHARの場合、SPD Engineでは、データコンポーネントファイルが、作成時にブロックで圧縮されます。SPD Engineでは、ユーザー指定の圧縮はサポートされません。さらに、圧縮と暗号化の両方が行われたデフォルトBase SAS Engineデータセットをコピーする場合、暗号化は保持されますが、圧縮は解除されます。
いったん圧縮データセットを作成すると、ブロックサイズは変更できません。圧縮ブロックは連続的に格納され、ブロック間に空き領域はありません。次の図は、ブロックのディスクへの格納方法を示しています。
ディスク上の圧縮ブロック
圧縮ブロックをメモリからディスクへ
圧縮後のデータセットへの更新で、ブロック内の利用可能容量よりも多くの領域が必要になった場合、SPD Engineではオーバーフローを保持するために新しいブロックフラグメントが作成されます。さらに更新をして再度オーバーフローが発生した場合、新しいブロックフラグメントが作成され、チェーンが形成されます。次の図は、更新によるディスク上でのブロックチェーンの作成を示しています。
オーバーフローのある圧縮ブロック
オーバーフローフラグメントのあるディスク上のブロック
チェーンが長くなりすぎると、パフォーマンスに影響します。チェーンを削除してブロックのサイズ変更を行うには、データセットを新しいデータセットにコピーする必要があります。IOBLOCKSIZE= を、出力データセットに適したブロックサイズに設定します。
データセットの頻繁な更新が予想される場合、 PADCOMPRESS=の使用をお勧めします。SPD Engineでは、新しいブロックフラグメントが作成されるかわりに、各ブロックに対する埋め込み領域が作成されます。次の図は、更新に対する各ブロックの領域の埋め込みを示しています。
圧縮された埋め込みブロック
ディスク上のブロック単位の埋め込み
圧縮後のデータセットへの更新で、ブロック内の利用可能容量よりも多くの領域が必要になった場合、SPD Engineは、各ブロックで埋め込み領域を使用します。新しいブロックフラグメントは作成されません。次の図は、更新による埋め込み領域の減少を示しています。
更新のある圧縮された埋め込みブロック
更新後に残されたさまざまなサイズの埋め込み
CONTENTSプロシジャでは、圧縮についての情報が印刷されます。次の例では、CONTENTSプロシジャ出力の圧縮情報フィールドについて説明します。
CONTENTSプロシジャの圧縮情報出力
CONTENTSプロシジャの圧縮情報出力
圧縮ブロック数
データの格納に必要な圧縮ブロック数。
生データブロックサイズ
IOBLOCKSIZE=データセットオプションに指定したサイズから計算されたバイト単位の圧縮ブロックサイズ。
オーバーフローのあるブロック数
より多くの領域を必要とする圧縮ブロック数。データが更新されて、圧縮された新ブロックが圧縮された旧ブロックよりも大きくなった場合、オーバーフローブロックフラグメントが作成されます。
オーバーフローチェーンの最大長
単一ブロックのオーバーフロー最大数。たとえば、圧縮ブロックが更新されて大きくなり、再度更新されてより大きなサイズになった場合、オーバーフローチェーンの最大長は2になります。
最大チェーンのブロック数
最大数のオーバーフローブロックを含むブロック数。
最小オーバーフロー領域
オーバーフローに必要なディスク領域最小容量。
最大オーバーフロー領域
オーバーフローに必要なディスク領域最大容量。
前のページ|次のページ|ページの先頭へ