• RedShiftでパフォーマンスをあげるためには、次のことに注意してテーブルを設計する必要があります。
  • 無駄のないデータ型を使って、ディスクIOを最小にする
  • データを効率的圧縮できる圧縮方法を選ぶ

 

ディスクIOを最小にする

RedShiftでパフォーマンスをあげるためは、ディスクIOを最小にする必要があります。

使用するデータに対して、不必要な型を使うと無駄にディスクにアクセスしてしまいます。
RedShiftでは、
・マルチバイト文字
・数値型
・文字型
・日時型
・ブール型
など多数の型が用意されていますので適切な型を使用すると共に、データの桁数についても注意しなくてはなりません。
使用するデータのバイト数も調べておいて、できるだけ効率的にデータを格納すれば、ディスクIOを少なくすることができます。

 

 

ネットワーク転送を最小にする

ネットワークの転送量を小さくすることも、RedShiftでパフォーマンスをあげるのに効果的です。
RedShiftでは列ごとに圧縮方式を指定できますので、データの内容に合った圧縮方式を選べます。

テーブルを作成する時に手動で圧縮方式を選ぶこともできますが、COPYコマンドを行うとRedShiftが自動的にデータの内容を解析して、適切な圧縮方式を適用します。
データを圧縮することでネットワークの転送量が少なくなって、RedShiftのパフォーマンスが向上します。

 

 

 

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

 

 

参考文献