IBM Db2 Warehouse on Cloud Enterprise MPP または IBM Db2 Warehouse MPP データベースでの表の作成

Web コンソールを使用して、またはデータベースに接続したアプリケーションによって、 IBM® Db2® Warehouse on Cloud Enterprise MPP または IBM Db2 Warehouse MPP データベース内に表を作成できます。 表を作成するときには、表のデータを分散させる方法を決定する必要があります。

このタスクについて

MPP データベースに新規表を作成するときには、ハッシュ分散またはランダム分散を使用できます。
ハッシュ分散

分散キー にリストされた列の値にハッシュ・アルゴリズムを適用してデータを分散させます。

分散キーを適切に選択すると、次の 2 つの目標のバランスを取ることができます。
  1. 表データをシステム全体に均等に分散させることで、照会処理を最大限に並列化し、使用可能なストレージ・スペースを最大限に使用する。
  2. 一緒に取り出される可能性が高いデータをコロケートして、データの取り出しに要する時間を最小化する。

一般に、ハッシュ分散キーを適切に選択すると最高のパフォーマンスが得られます。

分散キーを指定するには、CREATE TABLE ステートメントに DISTRIBUTE BY HASH 節を指定します。

ランダム分散

システム全体に均等にデータを分散させます。

ランダム分散は、照会処理を最大限に並列化し、使用可能なストレージ・スペースを最大限に使用します。

以下の場合には、ハッシュ分散よりも簡単な代替方式として、ランダム分散を使用することを検討してください。
  • 効果的なハッシュ分散キーを選択できるだけの情報がない場合
  • 表に対して入力される照会にコロケートが不要であることが分かっている場合
  • パフォーマンスが分散の影響を受けないほど表が小さい場合

ランダム分散を使用するには、CREATE TABLE ステートメントに DISTRIBUTE BY RANDOM 節を指定します。

主キーまたはユニーク・キーを持つ表を作成するときに DISTRIBUTE BY RANDOM を指定した場合、データベース・マネージャーは、そのユニーク・キーまたは主キーでハッシュ・キーを作成してランダム分散を実施します。 この場合、Web コンソールまたはカタログ表で表定義を参照すると、表の作成時に DISTRIBUTE BY RANDOM を指定したにもかかわらず、このハッシュ分散キーが表示されます。

デフォルト

CREATE TABLE ステートメントに分散節を指定しない場合は、デフォルトのハッシュ分散キーが使用されます。

手順

Web コンソール、または MPP データベースに接続したアプリケーションで CREATE TABLE ステートメントを発行します。

  • 表を作成した後に ALTER TABLE ステートメントで主キーまたはその他のチェック制約を定義するのではなく、CREATE TABLE ステートメントで主キーおよびその他のチェック制約を定義します。
  • CREATE TABLE ステートメントに分散を指定します。
    例 1: ハッシュ分散
    
    CREATE TABLE MYTABLE
    (
      COL1 INT,
      COL2 VARCHAR(5)
    )
    DISTRIBUTE BY HASH( COL1 )
    
    例 2: ランダム分散
    
    CREATE TABLE MYTABLE
    (
      COL1 INT,
      COL2 VARCHAR(5)
    )
    DISTRIBUTE BY RANDOM
    

    CREATE TABLE ステートメントも参照してください。

  • CREATE TABLE ステートメントで分散キーを指定しなかった場合は、デフォルトのハッシュ分散キーが使用されます。 Web コンソールで表定義情報を参照すれば、デフォルトの分散キーとして使用された列を確認できます。