RedShiftの事始め~環境構築前編~

こんにちは。SSTD 手塚です。
今回が二度目の投稿です。
青いウサギのアイコンが目印です。全く関係のない自己紹介です。
それはさておき、そろそろお盆も近くなり皆様夏休みなど取られている頃でしょうか。
いいですよね、夏休み。
欲しいです。夏休み。
いや、近々取りますけどね?

私はビールがあまり飲めません。大村より夏らしい写真を頂きました。セミナーに行った際に出てきたみたいです。

そんな含みを入れたところで今回のブログについてです。
【夏休み】ということも考えてこの空いた時間を家族サービスに利用するという方もいる一方、
何か新しい技術を触ってみようという人もいるかと思います。
そこで、今回はブログタイトル通り
「RedShiftの事始め」としてRedShiftを利用するまでの環境準備からサンプル実行までを
さくっとブログとして掲載しようと思った次第です。
SSTDの人間なんだからTreasureDataの入門記事の方がいいんじゃないの?と思う方がいるのも承知の上ですが・・・
TreasureDataの入門記事については大村が既に書いていますし、
SSTDとして先に検証を始めているTreasureData,Google BigQueryとの比較検証も行っていきたいので、今回はRedShiftです。
また中途半端に書きかけているMongoDBについてですが、RedShiftの検証が終わり次第また掲載させて頂ければと考えています。


それではRedShiftの検証を行っていこうと思います。
例によって私の書く記事はゆるーく始まりゆるーく終わります。
そういえば、今回のブログは画像がありません。


まずはAmazon RedShiftってどんなサービスなのか。
について軽く触れておきます。

【Amazon RedShiftについて】

Amazon RedShiftはざっくり言ってしまうとビッグデータを扱うためのデータウェアハウスサービスです。
Amazon RedShiftはシンプルで費用対効果の高いサービスを実現し、
既存のビジネスインテリジェンスツールを使用して、すべてのデータを効率的に分析できるとしています。
TreasureDataのようにスキーマレスな構造を取るわけではなく、スキーマな構造を用います。
説明を読む限りではTreasureDataは非構造データ向け、RedShiftは構造データ向けといったところでしょうか・・・?
また、Amazon RedShiftはSQLWorkbenchというツールを使うことが勧められており、
SQLWorkbenchをPostgreSQL用のJDBCで繋げて利用します。


Amazon RedShiftの概要もそこそこに
今回利用する検証環境について説明します。

【検証環境】

- ローカル環境 -
OS:Windows 8 64bit
Memory:8GB
CPU:Intel Core i7
- RedShiftクラスタ -
* XLノード-2TBストレージ
  ・CPU:仮想コア*2 - Intel Xeon E5
  ・ECU:4.4
  ・メモリ:15GB
  ・ストレージ:HDD*3 2TBローカルストレージ
  ・ネットワーク:標準
  ・ディスクI/O: 標準
  ・API:dw.hs1.xlarge
リージョン:Tokyoリージョン
クラスタタイプ:Single

ローカル環境は別にここまでスペック高くなくても平気で動くので
好きなマシンを使ってもらえればよいと思います。
環境上wi-fiが拾えることが絶対条件となっており、
拾えるマシンがこのスペックだっただけという何ともありきたりな理由です。
また、あまり検証にお金がかけられないので今回はクラスタの性能をケチります。
本来であれば8XLノード-16TBストレージでゴリゴリやるのと、クラスタタイプをマルチに変更するべきだと思いますが、
そんなことしてると平気で1ヶ月1000USDくらいかかってしまいそうなので・・・。

さて、検証環境の紹介もそこそこに
今回の目的である、RedShift利用までの流れを記載します。


【RedShift利用までの流れ】

  1.workbench Clientの入手・インストール(後回しでもよい)
  2.AWS RedShiftクラスタの起動
  3.AWS SecurityGroupの設定
  4.AWS RedShiftクラスタへの接続

大きく分けると4Stepくらいで済みます。
1.のworkbenchClientについてですが、こちらについては
クラスタの起動などにはworkbenchを使わないので4.の時に合わせて準備してもらっても問題がありません。
マニュアルの順番的にはどうにもworkbenchの準備から入っている節があるので、
今回はこの流れでやるだけだと認識してください。


では各項目ごとに詳しく見ていきましょう。

【1.workbench Clientの入手・インストール】

RedShiftはSQLライクなクエリを書くことが可能です。
Amazon RedShiftではどうやらSQLWorkbenchというツールを推しているみたいなので、
マニュアルにならってWorkbenchを利用することにしましょう。
と・・・言うわけで・・・。
さくっとダウンロードします。
入手先については公式のドキュメントを参考に次のものを利用します。
Worckbenchダウンロードページ
このページのDownloadsからOSに合わせてダウンロードページが分かれます。
今回はWindowsOSを利用するので、
Download_generic_package_for_all_sysytemsからダウンロードします。
ダウンロードするとWorkbench-Build114.zipがダウンロードされるはずなので、
適宜任意の場所に解凍しましょう。
この中にはすでにbinaryファイルが存在するのでそのまま実行が可能です。
ただし、Javaが入っていることが前提条件となっているので、Javaは入れておきましょう。
ちなみに今回検証で使っているマシンにインストールされているJavaは1.6系の最終アップデートバージョン(35だった気がします)です。

なんとなく記事が長くなりそうなので、今回は前編ということでここまでとしたいと思います。 次回はRedShiftの事始め~環境構築後編~として記事を掲載しますのでお楽しみに~。

SSTD 手塚