SQL 解説書

複数の区分にわたるデータの区分化

DB2 では、区分化データベースの複数の区分 (ノード) にわたってデータを柔軟に拡散させることができます。 ユーザーは、区分化キーを宣言することによってデータを区分する方法を選択することや、 データを保管するノード・グループおよび表スペースを選択することによって、 表データをスプレッドする区分およびその数を判別することができます。 さらに、区分化マップ (ユーザーが更新可能) は、 区分化キー値の区分へのマッピングを指定します。 これにより、大きな表の区分化データベース全体について作業負荷を柔軟に均等化することができ、 一方で、アプリケーションの設計者が選択すれば、 1 つまたは少数の区分に小さな表を保管することができます。 ハイパフォーマンスのローカル・データ・アクセスを提供するために、 各ローカル区分は、保管しているデータのローカル索引を持つことができます。

区分化データベースは、区分化記憶モデルをサポートしています。 このモデルでは、区分化キーを使用して一連のデータベース区画に表データを区分化します。 索引データも、それに対応する表とともに区分化され、 各区分にローカルに保管されます。

区分を使用してデータベース・データを保管する前に、 区分をデータベース・マネージャーに対して定義する必要があります。 区分は、db2nodes.cfg というファイルに定義されます。 区分の定義の詳細については、管理の手引き を参照してください。

区分ノード・グループの表スペースの表の区分化キーは、 CREATE TABLE ステートメント (または ALTER TABLE ステートメント) に指定されます。 指定されていない場合、デフォルト解釈によって、 表の区分化キーは、基本キーの最初の列から作成されます。 基本キーが指定されていない場合、デフォルトの区分化キーは、 LONG または LOB データ・タイプ以外のデータ・タイプを持つ表に定義されている最初の列になります。 区分化された表には、 データ・タイプが LONG でも LOB でもない列が少なくとも 1 つは必要になります。 明示的に指定されている場合には、 単一区分ノード・グループの表スペースの表は区分化キーだけを持つことになります。

ハッシュ区分化 は、 以下のように区分に行を入れるのに使用されます。

  1. ハッシュ・アルゴリズム (区分化関数) が区分化キーのすべての列に適用され、 区分化マップの索引が生成されます。
  2. この区分化マップ索引は、区分化マップへの索引として使用されます。 区分化マップの索引の区分番号は、行が保管される区分です。
  3. 区分化マップはノード・グループに関連付けられ、 表はノード・グループの表スペースに作成されます。

DB2 は、部分非クラスター化 をサポートします。これは、 システム内の区分のサブセット (つまりノード・グループ) 全体で表を区分化できることを意味しています。 システム内のすべての区分にわたって表を区分化する必要がありません。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]