<< Windows版DB2でアップグレードする際の注意情報 | main | Club DB2 今後の予定:今週末は「パフォーマンス・チューニング・ステップ」 >>

DB2 9.7新機能:DB2の圧縮が高い圧縮率を誇る理由と、V9.7での機能拡張

DB2 9.7が正式リリースされ、無料のExpress-Cも用意されましたし、オンラインドキュメントも見られるようになったので、そろそろ9.7の新機能や変更点について書いていきたいと思っています。

新機能はマニュアルの以下にまとまっています。

- IBM DB2 9.7 for Linux, UNIX and Windows Information Center
新規フィーチャーおよび機能

その中からまずは圧縮の新機能を紹介します。
- IBM DB2 9.7 for Linux, UNIX and Windows Information Center
バージョン 9.7 には、さらに多くのデータ・タイプを圧縮し、ストレージ要件をさらに削減し、入出力の効率性を向上させ、ディスクのデータへの高速アクセスを可能にするために使用できる新しい圧縮フィーチャーが含まれています。

DB2のデータ圧縮機能はV9.1から登場しました。簡単に言えばデータをZIPのようなアルゴリズムで圧縮してディスクに書き込むので、ディスク領域が少なくすむという機能です。サイズが小さくなると、ディスクアクセスの時間も減るため高速化にも繋がります。

DB2以外にも圧縮機能を持つデータベースはありますが、DB2の圧縮機能は他より高い圧縮率を誇ります。これはDB2の圧縮が表全体を対象にした辞書ベース圧縮だからです。つまり圧縮がページ(4KBとか)単位ではなく、表全体のデータで辞書を作り、それを元に圧縮しているために高い効率を実現できるわけです(考え方としては、大きなファイルをZIP圧縮するのと同じアルゴリズムです)。DB2 9.7の特集ページでサイズ83%削減(つまり元データの17%になった)事例コメントが紹介されていますが、これは表全体から辞書を作成する圧縮方式の恩恵によるものです。

- IBM Break Free コスト削減ならDB2|ストレージを83%圧縮してコスト削減 - Japan
データ圧縮率は実際のデータ特性によって異なりますが、あるDB2ユーザーは83%もの圧縮ができたことを報告しています。

またDB2は圧縮したままの状態でバッファープール(メモリーキャッシュ領域)にデータを置くようになっているため、メモリ使用効率も改善されます。

この辞書作成方式のデメリットは辞書をどこかで作らないといけない点です。例えば1000万行のデータを格納したい場合は、先に辞書作成に十分な量のデータを導入した後でREORGコマンドで辞書を作成し、その後で残りのデータを入れるという手間が必要になります。(辞書はいつでも作り直せます)

V9.5からはこの辞書作成が自動化され、ある程度の行が溜まった時点でDB2が自動的に辞書を作成するようになりました(自動辞書作成はOFFにもできます)。これでデメリットは大きく軽減されました。

V9.7ではさらに拡張され、XMLデータと一時表も圧縮可能になりました。また表データの圧縮とは別のアルゴリズムですがインデックスも圧縮されます。つまりほとんど全てのデータが圧縮可能になりました。特にXMLは同じようなデータ(値)を多数格納するケースが多い上にサイズが大きいので、非常に圧縮が効きます。

圧縮はディスク容量の削減、ディスクIOの削減、メモリ使用効率の改善を得る代わりに、CPUパワーを消費します。つまりCPUが逼迫しているようなケースで適用すると逆効果の場合もあるため、常に使えば良いという訳ではありません。しかし昨今はCPUパワーが余っている(ディスクI/Oを待っている)事例が多く、それだけ圧縮が有効なケースが増えているのではと思います。

コメント
コメントする(emailやurlは無記入でもOKです)









この記事のトラックバックURL (※SPAM対策のため、元記事のPermalink URLへのリンクがないものはトラックバックされません)
トラックバック
検索
著書
DB2cover_small.jpg
DB2の管理方法を解説した本を書きました。
ad
リンク集
about this site
recommend
プログラマのためのSQL 第4版
プログラマのためのSQL 第4版 (JUGEMレビュー »)
ジョー・セルコ
名著が第4版として、内容拡充されて発売されました。SQLの考え方を基礎からしっかり学習したい方にお勧めです。
recommend
recommend
WebSphere Application Server 構築・運用バイブル 【WAS8.5/8.0/7.0対応】
WebSphere Application Server 構築・運用バイブル 【WAS8.5/8.0/7.0対応】 (JUGEMレビュー »)
串宮 平恭,達見 圭介,田中 孝清,原口 知子,福崎 哲郎,盛林 哲
WebSphere Application Serverの運用管理本が出ました!WAS v7〜v8.5まで幅広いバージョンに対応しています。
recommend
recommend
Effective Java 第2版 (The Java Series)
Effective Java 第2版 (The Java Series) (JUGEMレビュー »)
Joshua Bloch
すべてのJava開発者必読の書が大幅改訂されて第2版になりました!。
文法などは解説していませんが、Java言語でプログラムを書くにはどういう事に気をつけるべきかという事が非常に端的に、かつ明確な理由とともに解説されています。
第2版ではJava SE 6対応がなされ、第1版で提案してJava SEに取り込まれた部分は整理され、新しい機能であるGenericsやアノテーションについての記述が多数追加されています。以前に増してお勧めできる書になりました。
まだ読んだことが無いJava開発者はぜひ読んでみてください。
recommend
 (JUGEMレビュー »)

基礎的なSQLは書けるようになったけど、今ひとつSQLのルールになんとなくしっくりこない、腑に落ちない。そんな人にお勧めの入門書です。SQLの根底に流れる基本的な考え方をやさしく解説してくれています。(レビューはこちら)
recommend
SQLパズル 第2版 プログラミングが変わる書き方/考え方
SQLパズル 第2版 プログラミングが変わる書き方/考え方 (JUGEMレビュー »)
ジョー・セルコ,Joe Celko
SQL入門を終えて、SQL中級/上級者になりたいと考えている方にぴったりのトレーニング本です(レビューはこちら)
recommend
XML-DB開発 実技コース
XML-DB開発 実技コース (JUGEMレビュー »)
下佐粉 昭,野間 愛一郎,久保 俊彦,高橋 賢司
XML-DBのやさしい入門書です。XMLの基礎から、XPath,XQueryの解説、設計の基礎、Javaでのプログラミング等盛りだくさんの内容です。
recommend
データベースパフォーマンスアップの教科書 基本原理編
データベースパフォーマンスアップの教科書 基本原理編 (JUGEMレビュー »)
エンコアコンサルティング
DBMSの基本的な内部構成、動作についての考え方をやさしく解説してくれています。(レビューはこちら)
recommend
メインフレーム実践ハンドブック z/OS(MVS),MSP,VOS3のしくみと使い方
メインフレーム実践ハンドブック z/OS(MVS),MSP,VOS3のしくみと使い方 (JUGEMレビュー »)
神居 俊哉
メインフレームの技術について、基礎概念から、実践的な使い方までを網羅した初めての解説書です。
recommend
 (JUGEMレビュー »)

CSSの概念/基礎をしっかりと解説してくれるCSS入門書。サイトへの実践的な適用方法も解説されています(レビューはこちら)
無料のDB2 Express-C
DB2 Express-C ダウンロード
recent entries
categories
recent comments
  • DB2でインスタンスを追加で作成するには
    SIM (03/18)
  • DB2でインスタンスを追加で作成するには
    晩衛 (03/17)
  • SQLの学習サイト
    SIM (03/26)
  • SQLの学習サイト
    DB (03/25)
  • IBMとマイクロソフトが提携!AzureでDB2やWebSphereが、IBMクラウドでSQL Serverが提供される事に
    sim (10/25)
  • IBMとマイクロソフトが提携!AzureでDB2やWebSphereが、IBMクラウドでSQL Serverが提供される事に
    INA (10/24)
  • OpenSSLのHeartbleed脆弱性(CVE-2014-0160)は、DB2には影響ありません
    SIM (04/24)
  • OpenSSLのHeartbleed脆弱性(CVE-2014-0160)は、DB2には影響ありません
    oda (04/23)
  • IBM BLU for Cloudの日本語ガイド
    SIM (03/13)
  • IBM BLU for Cloudの日本語ガイド
    Okajima (03/13)
recent trackbacks
archives