メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012-12-01)

分散スタイル

テーブルを作成する場合は、EVEN、KEY、ALL という 3 つの分散スタイルのいずれかを指定します。

均等な分散

リーダーノードは、特定の列の値に含まれている値にかかわらず、ラウンドロビン方式によって複数のスライス間で行を分散させます。EVEN 分散は、テーブルが結合に関与していない場合や、KEY 分散と ALL 分散のどちらを選択すべきかが明確でない場合に適切なスタイルです。EVEN 分散はデフォルトの分散スタイルです。

キー分散

行の分散は、特定の列に含まれている値に従って行われます。リーダーノードは、複数の一致する値を同じノードスライスに配置しようと試みます。結合キーに基づいてテーブルのペアを分散する場合、リーダーノードは、結合列に含まれている値に従って行をスライスにコロケーションします。これによって、共通の列からの一致する値が物理的にまとめて格納されるようになります。

ALL 分散

テーブル全体のコピーがすべてのノードに分散されます。EVEN 分散または KEY 分散によってテーブルの一部の行のみが各ノードに配置されている場合、ALL 分散を行うと、テーブルが関与しているあらゆる結合ですべての行が確実にコロケーションされるようになります。

ALL 分散では、クラスタ内のノードの数だけ必要なストレージが増えるため、データをロードまたは更新したり、複数のテーブルに挿入したりするのに時間がかかります。ALL 分散は、比較的移動の少ないテーブル、つまり、更新頻度が低く、更新範囲が広くないテーブルに適しています。サイズの小さいディメンションテーブルの場合は、再分散コストが低いため、ALL 分散を使用しても大きなメリットが得られません。

注記

列に対して分散スタイルを指定すると、Amazon Redshift によってクラスターレベルでデータ分散が処理されます。Amazon Redshift は、データベースオブジェクト内でのデータのパーティション化の概念を必要とせず、また、サポートもしていません。テーブルスペースを作成したり、テーブルのパーティション化方式を定義したりする必要はありません。