TOPサーバ構築・運用> DB2 9で機能拡張された新機能とは?
DB2 9
DB2 9の全貌

第2回:大規模データベースでも威力発揮!

著者:日本アイ・ビー・エム  岡口 純子   2007/7/31
1   2  3  次のページ
DB2 9で機能拡張された新機能とは?

   「DB2 V9.1 for Linux, UNIX and Windows(以下、DB2 9)」には「第1回:簡単!オートノミック機能で構築・運用しよう」で紹介したオートノミック機能のほかにも、様々な機能が用意されています。大規模データベース対応用のテーブル・パーティショニング機能をはじめ、データ圧縮、行・列単位でのアクセス制御ができるセキュリティ機能の強化、開発生産性を向上させたり柔軟な対応が可能なpureXML機能など、様々な機能拡張がなされているのです。

   また開発環境にはEclipseベースのDeveloper Workbenchが提供されており、JavaをEclipseで開発されている方ならば違和感やDB2を意識することなく開発することができます。
DB2 9の全体像
図1:DB2 9の全体像

   今回はDB2 9の新機能のなかでも、特に大規模なデータベース環境において便利で効果を発揮する以下の4つの機能を紹介します。

  1. テーブル・パーティショニング機能
  2. 多次元クラスタリング
  3. データベース・パーティション
  4. データ圧縮

表1:大規模なデータベース環境において便利で効果を発揮する機能


テーブル・パーティショニング機能〜運用容易性に効く!

   データベースの容量が大きくなってくると、パフォーマンスや運用など様々な点で考慮すべき事柄が増えてくるものです。情報系のシステムでは、いくつかの大きな表に対して最新データを大量に追加ロードしたり、保存期間が過ぎたら削除するなどの、ロールイン・ロールアウトの運用が存在します。

   このような作業は夜間バッチとしてサービス停止時間中に作業されていることが多いのですが、昨今のサービス時間の拡大というニーズから、いかにこのような定常運用の時間を短縮するかということも考慮点の1つとなります。

   DB2 9のテーブル・パーティショニングを利用すると、このロールイン・ロールアウトを短時間に実現することが可能となります。一般的には「レンジ・パーティション」と呼ばれることが多い機能ですが、1つの表を年月などの範囲を区切って格納することができ、範囲の単位で追加したり、削除を高速に行ったりすることが可能です。

   DB2では、表を物理的に格納する「表スペース」という単位がありますが、テーブル・パーティションは範囲ごとに別々の表スペースに格納することができます。

テーブル・パーティショニング
図2:テーブル・パーティショニング

   図2の例では、5月のデータをあらかじめロードした表に作成しておいて、履歴表Aにアタッチしています。また保存期間を過ぎたデータを削除する場合もその範囲をデタッチすることで、即座に履歴表Aから除くことが可能です。

   このデタッチ・アタッチの処理では、データの移動が発生しないということに注目してください。大量データの移動が発生しないので、即座に履歴表Aに追加・削除が行われます。

   削除されたデータは別の表として存在するので、そのデータのバックアップを取得してから表のDROPを行っても履歴表Aにはなんら関わりのない表の処理となります。履歴表Aの運用時間として、新規にデータをLOADしている時間やデータ削除の時間を短縮することができます。

   このような運用面のメリットとしてだけでなく、範囲として指定した年月などが照会の条件指定だった場合、その範囲のみが検索対象になるなど、性能面でのメリットを享受することも可能です。また1つの表を複数の表スペースに格納することができるので、表スペースあたりの制限値にとらわれることなく、大規模な表を作成することもできるようになりました。

1   2  3  次のページ


日本アイ・ビー・エム株式会社 岡口 純子
著者プロフィール
日本アイ・ビー・エム株式会社  岡口 純子
データサービス・テクニカル・セールス所属
お客様担当SEからSIプロジェクトでのインフラ・DBを中心に構築経験を経て、現在はDB2の技術支援(設計支援、パフォーマンス・チューニング、案件サポートなど)を実施中。現場が楽になることを願い、経験からの実践的なセミナーを多く開発し、講師もしている。


INDEX
第2回:大規模データベースでも威力発揮!
DB2 9で機能拡張された新機能とは?
  多次元クラスタリング〜パフォーマンスに効く!
  データ圧縮