takada-atです。
先日Redshiftに新しく追加されたSSDノード(Dense Compute ノード)を評価してみました。
料金表で見ますと、従来型のHDDノードに比べ、容量はだいぶ少なくなっているものの、料金は安価となっております。
http://aws.amazon.com/jp/redshift/pricing/
 
容量価格
HDD: dw1.xlarge2TB HDD$0.850 /1 時間
SSD: dw2.large0.16TB SSD$0.250 /1 時間

※値段は2014年2月19日現在のものです。

われわれのユースケースだと、容量はそれほど使っていないので、こちらを利用することで性能改善やコスト削減を期待することができます。
現在使っているdw1.xlargeノード×4と、dw2.large(SSD)×4、dw2.large(SSD)×8でデータのインポートおよびクエリの性能を評価します。まずそれぞれのコストと容量は以下のようになっております
容量価格
HDD: dw1.xlarge×48TB HDD$3.4 /1 時間
SSD: dw2.large×40.64TB SSD$1.0 /1 時間
SSD: dw2.large×81.28TB SSD$2.0 /1 時間


なお、切替えも簡単で、AWSのコンソールから切替えることができます。ただしクラスターのリサイズ中は、データベースの書き込みが不可能になるので、タイミングに注意する必要があります。
37















まずデータロードについてですが、30万件10MB程度のデータのロードで、以下のような結果となりました。
  • HDD: dw1.xlarge×4 0.677 sec
  • SSD: dw2.large×4 3.240 sec
  • SSD: dw2.large×8 3.190 sec 
こちらはあまり改善は見られませんでした。元々の実行時間が1秒前後なので誤差が大きいのかもしれません。われわれのユースケースでは、これ以上大きなデータのインポートは使用していないので、それほど影響はないようです。


つづいて参照系のクエリについてですが、重いクエリにはかなりの改善が見られました。
(括弧内の数字はHDDと比較した際の時間比率です)
 
HDD: dx1.xlarge×4SSD: dx2.large×4SSD: dx2.large×8
クエリ112662.233 ms7960.340 ms (63%)6708.667 ms (53%)
クエリ230298.266 ms22166.461 ms (73%)12189.224 ms (40%)
クエリ324244.460 ms17963.970 ms (74%)10488.123 ms (43%)


10同ノード数でも若干性能が向上していますし、ノードを増やすとさらに性能改善が見られます。8ノードでも、従来の4ノードに比べてコストは2/3以下になるので、コスト低下と性能改善の両方が期待できます。