Db2-tablespaces

提供:Dev Guides
移動先:案内検索

DB2-テーブルスペース

この章では、表領域について詳しく説明します

テーブルスペース

前書き

表スペースはストレージ構造であり、表、索引、ラージオブジェクト、および長いデータが含まれます。 データベース内のデータを、システム上のデータの保存場所に関連する論理ストレージグループに整理するために使用できます。 このテーブルスペースはデータベースパーティショングループに保存されます

データベース内の表領域の利点

表スペースは、次のようなさまざまな方法でデータベースに役立ちます。

回復可能性:表領域はバックアップおよび復元操作をより便利にします。 1つのコマンドを使用して、テーブルスペース内のすべてのデータベースオブジェクトをバックアップまたは復元できます。

自動ストレージ管理:データベースマネージャーは、ニーズに応じてコンテナを作成および拡張します。

メモリ使用率:単一のバッファプールで複数のテーブルスペースを管理できます。 一時テーブルスペースを独自のバッファプールに割り当てて、ソートや結合などのアクティビティのパフォーマンスを向上させることができます。

容器

表領域には、1つ以上のコンテナが含まれます。 コンテナは、ディレクトリ名、デバイス名、またはファイル名にすることができます。 データベースでは、単一のテーブルスペースが同じ物理ストレージデバイス上に複数のコンテナを持つことができます。 自動ストレージ表領域オプションを使用して表領域が作成される場合、コンテナの作成と管理はデータベース管理者によって自動的に処理されます。 自動ストレージ表領域オプションで作成されていない場合は、コンテナを自分で定義および管理する必要があります。

デフォルトの表領域

新しいデータベースを作成すると、データベースマネージャーはデータベースのデフォルトのテーブルスペースを作成します。 これらの表領域は、ユーザーおよび一時データのストレージとして使用されます。 各データベースには、次のように少なくとも3つのテーブルスペースが含まれている必要があります。

  1. カタログ表領域
  2. ユーザー表領域
  3. 一時テーブルスペース

カタログ表領域:データベースのシステムカタログ表が含まれています。 SYSCATSPACEという名前で、ドロップできません。

ユーザー表領域:この表領域にはユーザー定義の表が含まれます。 データベースには、USERSPACE1という名前のデフォルトのユーザー表領域が1つあります。 作成時にテーブルのユーザー定義テーブルスペースを指定しない場合、データベースマネージャはデフォルトのユーザーテーブルスペースを選択します。

一時表領域:一時表領域には一時表データが含まれます。 この表領域には、システム一時表領域またはユーザー一時表領域が含まれます。

システム一時表領域は、ソートや結合などの操作を実行している間、データベースマネージャーが必要とする一時データを保持します。 データベースには少なくとも1つのシステム一時表領域が必要であり、TEMPSPACE1という名前が付けられます。 データベースの作成時に作成されます。 ユーザー一時表領域は、表からの一時データを保持します。 DECLARE GLOBAL TEMPORARY TABLEまたはCREATE GLOBAL TEMPORARY TABLEステートメントで作成されます。 この一時テーブルスペースは、データベース作成時にデフォルトでは作成されません。

表領域とストレージ管理:

表領域は、使用方法に応じてさまざまな方法で設定できます。 オペレーティングシステムをセットアップして、テーブルスペースの割り当てを管理したり、データベースマネージャーにスペースを割り当てたり、データ用のテーブルスペースの自動割り当てを選択したりできます。

次の3種類の管理スペースが利用可能です。

システム管理スペース(SMS):オペレーティングシステムのファイルシステムマネージャーは、テーブルが保存されているスペースを割り当てて管理します。 ストレージスペースはオンデマンドで割り当てられます。 このモデルは、データベースオブジェクトを表すファイルで構成されています。 この表領域タイプは、ユーザー定義の表領域に対してバージョン10.1で非推奨になり、カタログおよび一時表領域では非推奨ではありません。

データベース管理スペース(DMS):データベースサーバーはストレージスペースを制御します。 ストレージスペースは、DMSテーブルスペースを作成するときに指定するコンテナ定義に基づいて、ファイルシステムに事前に割り当てられます。 ユーザー定義の表領域ではバージョン10.1フィックスパック1から非推奨になりましたが、システム表領域および一時表領域では非推奨ではありません。

自動ストレージテーブルスペース:データベースサーバーは自動的に管理できます。 データベースサーバーは、データベース上のデータに依存してコンテナを作成および拡張します。 自動ストレージ管理では、コンテナ定義を提供する必要はありません。 データベースサーバーは、コンテナを作成および拡張した後、データベースに割り当てられたストレージを利用します。 ストレージグループにストレージスペースを追加すると、既存のコンテナーが最大容量に達すると、新しいコンテナーが自動的に作成されます。 新しく追加したストレージをすぐに使用する場合は、テーブルスペースのバランスを取り直すことができます。

ページ、テーブル、およびテーブルスペースのサイズ:

一時的なDMSおよび自動ストレージのテーブルスペース。データベースに選択したページサイズによって、テーブルスペースサイズの最大制限が決まります。 テーブルSMSおよび一時自動ストレージテーブルスペースの場合、ページサイズはテーブル自体のサイズを制限します。 ページサイズは、4kb、8kb、16kb、または32kbです。

Tablespace type 4K page size limit 8K page size limit 16K page size limit 32K page size limit
DMS, non-temporary automatic storage tablespace regular 64G 128G 256G 512G
DMS, temporary DMS and non- temporary automatic storage table space large 1892G 16384G 32768G 65536G