今回は、物理設計時の前提知識として各データベース・オブジェクトを紹介し、次に物理設計におけるポイントを解説する。(編集局)
第1回では、DB2のインストールからバイナリを最新の状態にするパッチセット「FixPak」を適用するところまで説明しました。今回は、次のステップであるデータベースの作成から話を進めます。
具体的な解説の前に、データベース・オブジェクトについて簡単に復習しておきましょう。
DB2が使用するオブジェクトは画面1のような関係になっています。コントロール・センターのオブジェクト・ツリーですが、オブジェクトの関係を示すには最適です。
1つのシステムで、複数のインスタンスを持つことができます。また、1つのインスタンスは複数のデータベースを持つことができます。以下、それぞれのオブジェクトについて詳しく見ていきましょう。
インスタンスはデータベースを管理するオブジェクトで、「データベース・マネージャ」と呼ばれることもあります。インスタンスはデータベースを制御し、割り当てられているシステムリソースを管理します。同一システム上に複数持つことができ、インスタンスごとにセキュリティが定義されます。
UNIXでは、ユーザーアカウントに対してインスタンスが定義されるので、1ユーザー=1インスタンスです。もちろん、インスタンスを所有するユーザー名がインスタンス名となります。インスタンスに対する認証はOSに任せることになります。
データ(表)を管理する単位で、1インスタンス中に複数のデータベースを持つことが可能です。データベースの中には、バッファー・プール、表スペース、表、ビュー、索引のオブジェクトがあります。今回は物理設計がテーマですので、この中のバッファー・プールと表スペースを中心に解説します。
ほかにも、データの物理/論理構造の情報を持つシステム・カタログ表やパラメータなどの値が入っている構成ファイル、トランザクションのログが含まれます。
DB2もOracleと同様に複数台のサーバを使って並列クラスタ・データベースを構成できます。「データベース・パーティション」とは、複数台に分散されたデータベースの1区画を指し、複数区画をまとめたものを「データベース・パーティション・グループ」と呼びます。詳しい解説は第8回で行います。
DB2自身が管理するI/Oキャッシュメモリを「バッファー・プール」と呼びます。物理メモリとデータベースを直接結ぶのが、このバッファー・プールです。バッファー・プールは、表スペースと関連付けて複数定義でき、これにより表および表アクセスの特徴に応じて効果的なI/Oキャッシュ処理を実現できます。
ストレージ(物理ディスク)と直接関係するのが、この表スペースです。文字通り、表や索引を格納する領域を指します。索引やラージ・オブジェクト(LOB)データなど、特定のオブジェクト専用の表スペースを用意することも可能です。また、表スペースは1つまたは複数の物理ストレージ・デバイスに分散させることもできます。表スペースの定義と属性は、データベース・システム・カタログに記録されています。
表スペースは、物理的には、
の2つのタイプがあります。SMS表スペースはOSのファイルシステム上のディレクトリを指定して作成し、ディスクへの書き込み/読み込みはOSを介して行います。DMS表スペースは、サイズが固定されたファイルもしくはRAWデバイスを指定し、ディスクへの書き込み/読み込みはDB2が制御します。
また、用途によって3つのタイプの表スペースがあります。
索引は、REGULAR表スペースまたはLARGE表スペースに格納できます。
コンテナは表スペースを構成する物理構成要素で、SMS表スペースであればディレクトリ、DMS表スペースであればファイルまたはデバイスを指します。1つの表スペースに対して、複数のコンテナを割り当てることが可能です。
表スペースに複数のコンテナがある場合、データはすべてのコンテナにラウンドロビン方式で格納されます。このため、コンテナ間でデータが均等になります。データベース・マネージャがコンテナに書き込むページ数を「エクステント・サイズ」と呼びます。
前出のコントロール・センターの図を見ると、上記以外にも論理オブジェクトがあることが分かります。表、索引、視点、別名、トリガー、スキーマ、ユーザー定義関数、ストアード・プロシージャなどです。
データベース・オブジェクトとは呼べないかもしれませんが、ログも物理構成する際に重要な要素です。特にOLTP系のトランザクションの頻度が高いシステムでは、ログを配置する場所などにも配慮する必要があります。
DB2では、トランザクションがコミットされていない「アクティブ・ログ」と、トランザクションがコミットされディスクに書き込み済みの「アーカイブ・ログ」という2種類のログがあります。
Copyright © ITmedia, Inc. All Rights Reserved.