• Redshiftは、一つのノード内でCPUのコアと同じ数のプロセスが動作しています。各プロセスが独立性の高い動作をすることでMPP(Massively Parallel Processing)が可能となり、線形スケールを実現しています。
  • データを分散の方法は、均等分散・KEY分散・ALL分散のいずれかが選択できます。

 

並列分散で処理を行う単位:ノードスライス

Redshiftは一つのノードでCPUのコアと同じ数のプロセスが動作していますので、Redshiftの分散処理はノード単位ではなくノードスライス単位となります。
各ノードスライスは専用のCPUコア・メモリ・ディスクを使って、独立して動作しています。

このように独立性が高いノードにデータとクエリの負荷を分散できるので、MPP(Massively Parallel Processing)が可能となり、線形スケールを実現することができました。

 

 

 

クラスターの作成に使用できるノード

クラスターの作成に使用できるノードタイプは、Dense Storage(DS)ノードとDense Compute(DC)ノードの2種類です。

・Dense Storageノード
ハードディスクドライブHDD)が使用されているノードで、大規模なデータウェアハウスを低コストで作成できます

・Dense Computeノード
高速CPU・大容量RAM・SSD(Solid-State Disk)で構成されたノードで、高パフォーマンスのデータウェアハウスが作成できます

 

 

データの分散方式

データを分散する方法として、均等分散・KEY分散・ALL分散のいずれかが選択できます。

・均等分散
ラウンドロビン方式によって、複数のスライス間に均等にデータが分散されます。
均等分散はデフォルトの分散方式で、分散方式をしない場合は均等分散が採用されます。

・KEY分散
特定のカラムを分散キーにして、各ノードスライスにデータが分散されます。
分散キーとなったカラムの値によってデータが分散されますので、同じ値を持つデータは同じノードスライスに配分されます。

・ALL分散
テーブルの内容全てを、各ノードに分散する方法です。
各ノードが大量のデータを持つことになるので、データの更新・挿入などをするのに時間がかかります。
そのため、頻繁にデータを更新する作業には向いていません。

 

 

本サイト上に掲載されているまとめ記事が、毎週ステップメールで受け取ることもできます。

 

 

参考文献