AWS re:Invent2013参加レポート #23 Redshiftデモ(Cross-Region Snapshot あり)

2013.11.16

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

Joseさんに続き、ドイツのエバンジェリスト Steffen KrauseさんがRedshiftの紹介とデモをしてくれました。

IMG_0988

Redshiftの紹介

AWS風のデータウェアハウスということで、簡単に作れて、スケールアップも簡単、とっても低価格で、とっても高性能、一般的なツールも簡単につかえます。といいことづくめです。

カラムストレージ、データ圧縮、ハードウェア的な最適化などが行なわれていることで高性能を実現しているとのことです。

また外側のインターフェースはPostgres互換で作られているため、ODBCやJDBC、Postgres 8.x ドライバであれば利用できます。当然中身はまったく違うのであくまで外側のみです

データロードはS3、DynamoDBよりcopyコマンドを用いて直接行なえます。並列ロードを行なうことで、高速にロードができますが、copyコマンドを使うと圧縮や並列ロードなどを全部自動でやってくれるので、これを使うべきとのことでした

データは自動的に圧縮されます。だいたい4から8倍程度の圧縮率をえられます。適切なデータと暗号化方式であれば20倍を越える場合もあるとのことです。analyze compressionコマンドを用いることで詳細を確認できます。

Redshiftのアーキテクチャ

leaderノードとcomputeノードにわかれます。postgresインターフェースをもっているのはLeaderノードになります。複数台のcomputeノードがいますが一台でも可能です。クエリは複数computeノードで並列で実行されます。また、ノードの数をリサイズすることも可能です。

IMG_0990

最後に言っていたのですが、月に一度の会計処理を行なう場合、以下のようにシステムを作ることでコスト削減が出来るといってました

  • Redshiftを建てる
  • データをロードする
  • 会計処理をおこなう
  • おわったらスナップショットを取得
  • Redshiftを廃棄する

で、翌月末には

  • スナップショットを元にRedshiftを作成
  • 差分のデータをロードする
  • 会計処理をおこなう
  • おわったらスナップショットを取得(差分のみになる)
  • Redshiftを廃棄する

ということで、常時起動ではなく、必要な時にのみ起動することが可能というのがRedshiftのよいところだと言っていました。Data Warehouse as a Serviceですね。

Redshiftのデモ

Redshift構築から、どう使うかまで一通り見せてくれたのですが、二つにしぼりたいとおもいます。

Jasperとの連携

Amazon Market PlaceからJasper soft レポーティングツールのAMIを購入して、その場でRedshiftと連携していました。下は出生数のデータから、父親の年齢のグラフを出したグラフです。

IMG_1042インスタンス起動からわずか数分でこういうことが出来るのを目の前で見せられるのは衝撃ですね。

このデータをみているときに気づいたのですが、10歳で父親になっている人が10人ほどいました。これも衝撃でした。

IMG_1038

Cross-Region スナップショット

今回のre:Inventで発表されたRedshift Cross-region snapshot、スナップショットをリージョンまたぎで作成する機能です。これもデモしてくれました。こちらの画面でリージョンコピーの選択肢がでてくるそうです。

IMG_1020

EUからus-eastリージョンにコピーをしていたとおもいますが、セミナー後にどのくらい速度が出るのか質問してみたところ「Let me show it.」と画面を見せてくれました。Krauseさん親切です。ありがとうございました。

IMG_1022_1

56GB/s 速すぎ!とびっくりしたのですが、ちょっと考えるとデータセットが250GBで10時間かかるということで56Mb/sが正しい速度だとおもいます。それでも十分速いです。東京/シンガポール間、東京/オレゴンの速度、誰かためしてくれないでしょうか。

さいごに

はじめてRedshiftを勉強する人は是非みるべきセッションです。非常にコンパクトにまとまっていいました。もし可能であれば、日本のエバンジェリストの方に是非再演してもらいたいです。是非お願いします。