Redshift のメモ
データ分散
DISTSTYLE
テーブル全体のデータ分散スタイルを定義する。
-
EVEN
、KEY
、ALL
の3種類ある-
テーブルにどの分散スタイルを選択するかによって、データベースの全体的なパフォーマンスが左右されます。
-
よく考えて選んだほうが良さそう...
DISTKEY
分散キーの列名または位置番号を指定する。
文字データ型
マルチバイト文字の VARCHAR
CHAR および VARCHAR のデータ型は、文字単位でなくバイト単位で定義される。
-
例えば、VARCHAR(12) 列には、シングルバイト文字なら 12 個、2 バイト文字なら 6 個、3 バイト文字なら 4 個、4 バイト文字なら 3 個含めることができます。
3バイト文字と4バイト文字の違いがわかってない・・
圧縮
圧縮分析
圧縮分析レポート取得できるコマンドがある。
-
圧縮分析を行い、分析されたテーブルの推奨列エンコードスキームのレポートを生成します。レポートには、列ごとに現在のエンコードと比較したディスク容量の圧縮可能率の推定値が含まれます。
列圧縮タイプの選択
テーブルの作成後に変更することはできない
ALTER 文で列追加する場合は指定できる
-
圧縮すると、クエリパフォーマンスが向上する
-
テーブルの作成後に列の圧縮エンコードを変更することはできません。ALTER TABLE コマンドを使用して列をテーブルに追加する際には、列のエンコードを指定できます。
圧縮は、データの格納時にそのサイズを小さくする列レベルの操作です。圧縮によってストレージスペースが節約され、ストレージから読み込まれるデータのサイズが小さくなり、ディスク I/O の量が減少するので、クエリパフォーマンスが向上します
-
圧縮エンコード
指定しないと自動的に割り当てられる。
-
型によっては、CREATE TABLE または ALTER TABLE ステートメントで明示的に指定した方が良さそう。
-
圧縮エンコードは、行がテーブルに追加されるときにデータ値の列に適用される圧縮のタイプを指定します。 CREATE TABLE または ALTER TABLE ステートメントで圧縮が指定されていない場合、Amazon Redshift は以下のように自動的に圧縮エンコードを割り当てます。...
-