データウェアハウスに関する基本的な内容をまとめてみたものです。データウェアハウスに関する、Web上にすでにある解説コンテンツをまとめたサイトの抜粋です。
[線形スケールを可能にしたMPPな仕組み] (https://www.techcrowd.jp/redshift/mpp/)
[並列分散で処理を行う単位:ノードスライス] (https://www.techcrowd.jp/redshift/mpp/)
Redshiftは一つのノードでCPUのコアと同じ数のプロセスが動作していますので、Redshiftの分散処理はノード単位ではなくノードスライス単位となります。
各ノードスライスは専用のCPUコア・メモリ・ディスクを使って、独立して動作しています。
このように独立性が高いノードにデータとクエリの負荷を分散できるので、MPP(Massively Parallel Processing)が可能となり、線形スケールを実現することができました。
[クラスターの作成に使用できるノード] (https://www.techcrowd.jp/redshift/mpp/)
クラスターの作成に使用できるノードタイプは、Dense Storage(DS)ノードとDense Compute(DC)ノードの2種類です。
・Dense Storageノード
ハードディスクドライブHDD)が使用されているノードで、大規模なデータウェアハウスを低コストで作成できます
・Dense Computeノード
高速CPU・大容量RAM・SSD(Solid-State Disk)で構成されたノードで、高パフォーマンスのデータウェアハウスが作成できます
[データの分散方式] (https://www.techcrowd.jp/redshift/mpp/)
データを分散する方法として、均等分散・KEY分散・ALL分散のいずれかが選択できます。
・均等分散
ラウンドロビン方式によって、複数のスライス間に均等にデータが分散されます。
均等分散はデフォルトの分散方式で、分散方式をしない場合は均等分散が採用されます。
・KEY分散
特定のカラムを分散キーにして、各ノードスライスにデータが分散されます。
分散キーとなったカラムの値によってデータが分散されますので、同じ値を持つデータは同じノードスライスに配分されます。
・ALL分散
テーブルの内容全てを、各ノードに分散する方法です。
各ノードが大量のデータを持つことになるので、データの更新・挿入などをするのに時間がかかります。
そのため、頻繁にデータを更新する作業には向いていません。