管理の手引き


データの区分方法

省略時には、データ再配分ユーティリティーは、 各ハッシュ区画に振り分ける行数を同じと想定するので、 ハッシュ区画をノード・グループのデータベース区画すべてに均等に区分けします。 各ハッシュ区画に同じ行数を振り分けるのではない場合は、 配分ファイル を使用して、 現行の配分方法を指定することができます。 このファイルには、 4 096 個のハッシュ区画のそれぞれに対する値が入っています。 各値は、対応するハッシュ区画の重み として使用されます。 データ再配分ユーティリティーは、ターゲット区分化マップを生成し、 その中ではすべてのデータベース区画はほぼ同じ重みを有しています。 したがって、配分ファイルを使用すると、データ配分がスキューされていた場合であっても、 均等なデータ配分を行うことができます。

オートローダー・ユーティリティーを使用すると、 ANALYZE オプションを使用してデータ配分ファイルを作成することができます。 このファイルは、データ再配分ユーティリティーへの入力として使用することが可能です。 オートローダー・ユーティリティーの詳細は、 データ移動ユーティリティー 手引きおよび解説書 を参照してください。

また代替的な方法としては、PARTITION および NODENUMBER という SQL 関数を使用して、 ハッシュ区画またはデータベース区画間の現行のデータ配分を判別することができます。 (PARTITION 関数を使って、ハッシュ区分化での配分を判別します。) この情報を使用すると、 配分ファイルとターゲット区分化マップの両方について知ることができます。

たとえば、 不均等なデータ配分のために異常なほど多くの行数を持つデータベース区画 (もしあれば) を判別するには、 以下のようにします。

   SELECT PARTITION(column_name), COUNT(*) FROM table_name
      GROUP BY PARTITION(column_name)
      ORDER BY PARTITION(column_name) DESC
      FETCH FIRST 100 ROWS ONLY     

table_name が最も大きな表で、 column_name がその表の適切な列であることを確認してください。


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