以下のデータベース・オブジェクトにより、 システムでデータが保管される方法、 および (データへのアクセスと関連する) パフォーマンスを向上させる方法を定義できます。
データベースは、表スペース と呼ばれる部分に編成されています。 表スペースは、表を保管するスペースです。 表を作成するときに、 索引やラージ・オブジェクト (LOB) データなどの特定のオブジェクトを他の表データとは別にして 保管することができます。 表スペースは、1 つまたは複数の物理記憶域装置に分散させることもできます。 次の図では、 複数の表スペースにデータを分散させるときの柔軟性を示しています。
![]() |
ノードグループの中に常駐する表スペース (ノードグループを参照)。 表スペースの定義と属性は、 データベース・システム・カタログに記録されています (システム・カタログ表を参照)。
表スペースにはコンテナーが割り当てられています。 コンテナー は、割り振られた物理記憶域 (ファイルまたは 装置など) です。
表スペースとして、 システム管理スペース (SMS) またはデータベース管理スペース (DMS) のどちらかを使用できます。 SMS 表スペースの場合、 それぞれのコンテナーはオペレーティング・システムのファイル・スペースにあるディレクトリーであり、 オペレーティング・システムのファイル管理プログラムが記憶域を制御します。 DMS 表スペースの場合、 それぞれのコンテナーは サイズが固定されている事前割り振りのファイルであるか、 またはディスクなどの物理デバイスであり、 データベース・管理プログラムが 記憶域を制御します。
図 6 は、 表、表スペース、および 2 つのタイプのスペース間の関係を示しています。 この図はまた、表、索引、長データが表スペースに保管されている様子も示しています。
![]() |
図 7 は、3 つの表スペース・タイプを示しています。 これらは正規、一時、 および長形式 です。
ユーザー・データを含む表は、正規表スペースにあります。 デフォルトのユーザー表スペースは USERSPACE1 と呼ばれます。 索引も正規表スペースに保管されています。 システム・カタログ表は、正規表スペースに存在します。 デフォルトのシステム・カタログ表スペースは SYSCATSPACE と呼ばれています。
長形式フィールド・データまたは長形式オブジェクト・データを含む表、 たとえばマルチメディア・オブジェクトなどは、長形式表スペースに存在します。
一時表スペース は、 システム表またはユーザー表として分類されます。 システム一時表スペース は、 ソート、表の再編成、索引の作成、および表の結合などの SQL 操作中に必要となる 内部一時データを保管するために使用します。 システム一時表スペースはいくつでも作成できますが、 大多数の表が使用するページ・サイズを使用して 1 つだけ作成することをお勧めします。 デフォルトのシステム一時表スペースは TEMPSPACE1 と呼ばれています。 ユーザー一時表スペース は、 アプリケーション一時データを保管する宣言済みグローバル表を保管するために使用されます。 ユーザー一時表スペースは、 省略時にはデータベース作成の時点で作成されません。
![]() |
コンテナー は、物理記憶域装置です。 これは、ディレクトリー名、装置名、またはファイル名によって識別できます。
1 つのコンテナーが 1 つの表スペースに対して割り当てられます。 単一の表スペースはいくつものコンテナーにまたがることができますが、 それぞれのコンテナーが属することができる表スペースは 1 つだけです。
図 8 は、 データベース内の表および表スペースと、 それに関連しているコンテナーおよびディスクとの関係を示しています。
![]() |
EMPLOYEE、DEPARTMENT、および PROJECT 表は HUMANRES 表スペースにあり、 これらはコンテナー 0、1、2、3、および 4 にまたがっています。 この例では、それぞれのコンテナーは別々のディスクの中に存在しています。
表のデータは、 表スペースにあるすべてのコンテナーにラウンドロビン方式で保管されます。 このため、特定の表スペースに属するコンテナー間でデータが均等になります。 別のコンテナーを使用する前に、データベース・マネージャーがコンテナー に書き込むページ数は、エクステント・サイズ と呼ばれます。
バッファー・プール はメイン・メモリーの一部であり、 ディスクからキャッシュ表または索引データ・ページが読み取られるか、 または変更されるときにそれらに割り当てられます。 バッファー・プールの目的は、 システム・パフォーマンスを向上させることです。 データへのアクセスは、ディスクよりもメモリーからの方がずっと速く行うことができます。 したがって、 データベース・マネージャーがディスクに対して読み書き (入出力) を行う回数が 少ないほど、パフォーマンスは高くなります。 (複数のバッファー・プールを作成することもできますが、 ほとんどの状況で必要になるバッファー・プールは 1 つだけです。)
バッファー・プールの構成によって入出力が遅いために生じる遅れを削減することが できるため、これは、単一の最も重要な調整域になります。
図 9 は、 バッファー・プールとコンテナーの関係を示しています。
![]() |