2003年 8月16日 | データ 圧縮 (compress) | >> 目次 (テーマごと) |
ディスク の スペース を節約するために、データ を圧縮することがある。 データ 圧縮とは、以下の要件に合致する データ を圧縮する機能である。
(1) [ 英文字属性では ] ブランク 状態 (HEX '40') が 3 バイト 以上継続している。 データ 圧縮を パフォーマンス の観点から判断すれば、以下の 2点が論点になる。
(1) 1つの ブロック のなかに収納される レコード 件数が多くなる。
I/O 単位は ブロック であり、アクセス 単位は ビュー である。 データ を圧縮していれば、ブロック 単位に読み込まれた データ (複数の レコード) は拡張 バッファ に転送されて (ビットマップ 式などの手法を使って) 圧縮されている フィールド が判断され拡張されて、非圧縮の レコード 状態に変換されてから ビュー 単位に アクセス され、プログラム の演算が終了したら、拡張 バッファ を使って レコード が圧縮されてから、ブロック に転送される。すなわち、テーブル と プログラム の間では、通常の データ・バッファ (および、インデックス・バッファ) の操作に加えて、拡張 バッファ を経由する操作が割り込む。
拡張 バッファ の経由は RDBMS に対して負荷を与える。
逆に言えば、DB の高 パフォーマンス を実現したいのなら、データ 圧縮は避けるほうが賢明である。 |
<< もどる | ベーシックス | すすむ >> | |
データベースの基礎知識 |