データウェアハウスに関する基本的な内容をまとめてみたものです。データウェアハウスに関する、Web上にすでにある解説コンテンツをまとめたサイトの抜粋です。
RedShiftのテーブル設計のポイント
ディスクIOを最小にする
RedShiftでパフォーマンスをあげるためは、ディスクIOを最小にする必要があります。
使用するデータに対して、不必要な型を使うと無駄にディスクにアクセスしてしまいます。
RedShiftでは、
・マルチバイト文字
・数値型
・文字型
・日時型
・ブール型
など多数の型が用意されていますので適切な型を使用すると共に、データの桁数についても注意しなくてはなりません。
使用するデータのバイト数も調べておいて、できるだけ効率的にデータを格納すれば、ディスクIOを少なくすることができます。
ネットワーク転送を最小にする
ネットワークの転送量を小さくすることも、RedShiftでパフォーマンスをあげるのに効果的です。
RedShiftでは列ごとに圧縮方式を指定できますので、データの内容に合った圧縮方式を選べます。
テーブルを作成する時に手動で圧縮方式を選ぶこともできますが、COPYコマンドを行うとRedShiftが自動的にデータの内容を解析して、適切な圧縮方式を適用します。
データを圧縮することでネットワークの転送量が少なくなって、RedShiftのパフォーマンスが向上します。