利点
Navicat 16がテーブルスペースをサポートしていることをご存知ですか?テーブルスペースは、ファイルシステム上のデータの保管場所に関連する論理ストレージグループにデータベースデータを編成する、テーブル(およびインデックス、ラージオブジェクト、ロングデータ) のためのストレージ構造です。その主な機能は、物理ストレージ層と論理ストレージ層をリンクすることです。テーブルをテーブルスペースに割り当てることにより、いくつかのテーブルをより高速なまたはより冗長なディスクに配置したり、複数のディスクにテーブルをストライプしたりして、物理的なストレージレイアウトを制御できます。このシリーズは 2つのパートに分かれています。最初の2回のブログでは、理論的な側面、具体的には、テーブルスペースが提供する利点と、それらがどのように機能するかについて説明します。2番目のパートでは、Navicat 16でテーブルスペースを管理する方法など、より実用的なことに焦点を当てます。
テーブルスペースが提供する利点
上記の利点に加えて、テーブルスペースには他にもいくつかの利点があります:
復元可能性
オブジェクトを同じテーブルスペースに配置すると、データベースのバックアップと復元が容易になります。それは、1つのコマンドでテーブルスペース内の全てのオブジェクトをバックアップまたは復元できるからです。さらに、複数のテーブルスペースに分散されたパーティション化されたテーブルとインデックスがある場合、特定のテーブルスペースに存在するデータとインデックスのパーティションのみをバックアップおよび/または復元するオプションがあります。
テーブルを簡単に追加
1つのテーブルスペースに格納できるテーブルの数には制限がありますが、1つのテーブルスペースに収まりきらない数のテーブルを格納する必要がある場合は、それらのためにCREATE TABLESPACEコマンドを使用して追加のテーブルスペースを簡単に作成できます:
CREATE TABLESPACE tbs1 DATAFILE 'tbs1_data.dbf' SIZE 1m;
自動ストレージ管理
通常、テーブルスペースコンテナはあなた自身で定義および管理する必要があります。ただし、DB2などの特定のデータベースは、ストレージが自動的に管理される自動ストレージテーブルスペースをサポートしています。自動ストレージテーブルスペースオプションを使用してテーブルスペースを作成すると、コンテナの作成と管理がデータベースマネージャーに委任されます。
パフォーマンスまたはメモリー使用率を向上させるためにバッファプール内のデータを分離する機能
頻繁にクエリ問合せされる一連のオブジェクト(テーブルやインデックスなど)がある場合、単一のCREATEまたはALTER TABLESPACEステートメントを使用して、それらが存在するテーブルスペースをバッファプールに割り当てることができます。一時テーブルスペースをその独自のバッファプールに割り当てて、並べ替えや結合などの特定の操作のパフォーマンスを向上させることもできます。めったにアクセスされないデータの場合、または、非常に大きなテーブルへの非常にランダムなアクセスを必要とするアプリケーションの場合は、より小さなバッファプールを定義することが理にかなっている場合があります。データをバッファプールに保持できるのは、単一クエリのみです。
今後
Navicat 16とテーブルスペースシリーズのこの最初の記事では、テーブルスペースが提供するいくつかの利点を紹介しました。次のブログでは、テーブルスペースがどのように機能するかについて詳しく学びます。最後のブログでは、Navicat 16でのテーブルスペースの操作を紹介します。