DB2-テーブルスペース

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

前書き

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

データベース内のテーブルスペースの利点

表スペースは、以下に示すさまざまな方法でデータベースに役立ちます。

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

Automatic storage Management:データベースマネージャは、必要に応じてコンテナを作成および拡張します。

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

コンテナ

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

デフォルトのテーブルスペース

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

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

Catalog tablespace:データベースのシステムカタログテーブルが含まれています。SYSCATSPACEという名前であり、ドロップすることはできません。

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

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

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

Tablespaces and storage management:

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

次の3種類の管理対象スペースを使用できます。

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

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

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

Page, table and tablespace size:

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

表領域タイプ 4Kページサイズ制限 8Kページサイズ制限 16Kページサイズ制限 32Kページサイズ制限
DMS、非一時的な自動ストレージテーブルスペース通常 64G 128G 256G 512G
DMS、一時DMS、および非一時自動ストレージ表スペースが大きい 1892G 16384G 32768G 65536G