« RからAmazon Redshiftに接続する | メイン | AWS Device Farm ビルトイン App Explorer で Android アプリをひと通りテスト(スクリプト不要) »

AWS Black Belt Tech Webinar 「Amazon Redshift」資料公開

こんにちは。ソリューションアーキテクトの下佐粉(@simosako)です。

順番が前後してしまいましたが、8/26に開催したAWS Black Belt Ech Webinar「Amazon Redshift」の資料を公開しました。資料は先週に発表された新機能のUDF(ユーザ定義関数)についても追加していますので、ぜひご参照ください。またQ&Aもこのエントリの最後に記載してあります。

さて次回のAWS Black Beltは、Amazon Elastic MapReduce (EMR)についてディープに解説します。EMRはHadoopクラスターをAWS上に簡単に作成することが出来るサービスです。HiveやSparkといったサービスも簡単に起動できるため、昨今非常に注目されているサービスです。ぜひお気軽にご参加ください。

9月16日(水)

  • Amazon Elastic MapReduce - 岩永亮介
  • セミナー参加登録リンク: https://connect.awswebcasts.com/elastic_mapreduce/event/event_info.html
  • セミナー内容:
  • Amazon EMRはHadoopやSparkといったビッグデータ処理・分析基盤となるクラスタを簡単に構築し運用することのできるサービスです。お客様は各種ソフ トウェアのインストールや設定、チューニングといった面倒なステップを省略して、ボタン1つでアプリケーションの入ったクラスタを手に入れることができま す。本WebinarではAmazon EMRの概要や最新情報のご説明、またHadoopやSparkといったアプリケーションについても簡単にご紹介します

Q&Aは以下の通りです。

Q1.スライスは1コンピュートノードにつき2つまでということでしょうか?
(コンピュートノード内のスライスは2固定ですか?使用者が変更できますか?)

A1.スライス数はノードタイプによって異なります。またスライスの数は固定されており、変更する事はできません。詳しくは以下のマニュアルを参照してください。
http://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/working-with-clusters.html

Q2.スライスの単位は CPU のコア数単位ですか?
A2.CPUコアの数とは関係なく、それぞれのノードタイプごとに決められています。詳しくは上記マニュアルを参照してください。

Q3.パッチ適用はどのくらいの間隔で行われていますか?だいたいで構いませんので、これまでの実績を教えてください。
A3.具体的に間隔は決まっていないのですが、以下のフォーラムでパッチのアナウンスが行われていますので、こちらをご参照ください
https://forums.aws.amazon.com/thread.jspa?threadID=132076

Q4.数秒程度のレイテンシ要件の場合でもRedshiftでは厳しいのでしょうか
A4.性能に関するご質問なので一概には答えられないのですが、一般的には数秒程度のレイテンシであればクエリーやSORT KEYのチューニング等で、十分対応できる場合もあると考えられます。

Q5.データの追記蓄積は向いているのでしょうか。追記蓄積の場合の注意点はありますか。
A5.データを一括で(大量に)追記する場合はCOPYコマンドで高速に実行できるため、定期的なデータ更新にも問題無く対応可能です。追記型であるために、削除したり更新したデータは実際には古いデータが残ったままになりますので、定期的なVACUUM実行が重要です。

Q6.text 型はなかったと思いますが、それに代わる最適な型はありますか?
A6.VARCHAR型をご利用ください。CAHR型も利用できますが、RedshiftではCHAR型にはシングルバイト文字しか格納出来ない点にご注意ください。(VARCHARには日本語を含むマルチバイト文字が格納可能です)

Q7.diststyle allのデータ量目安はありますでしょうか?
A7.ALLに適したサイズの目安を一般化するのは難しいです。ノード数にもよりますし、その表の重要度やストレージの余裕率にもよるためです。ノード間通信で頻繁に転送されている表は試してみる価値がありますが、ALL指定の表は、COPY等の更新速度が低下する点に注意が必要です。

Q8.コロケーションを有効にする為に、カラム名を同じにしておく必要等ユーザ側で設定する必要があるのでしょうか
A8.カラム名を同じにする必要はありません。「同じ値の時に同一スライスに格納したい列」それぞれにDIST KEYを指定すれば、自動的にコロケーションジョインが利用されます。

Q9.HBase (EMR) で運用している数十億のレコードを Redshift に移行したいと考えていますが、ベストプラクティスや事例はありますか?
A.EMRのデータを一旦、パラレルでS3に出力していただき、そこからCOPYでRedshiftに取り込むというのが最初にご検討頂きたい方法です。データを200MB~2GB程度に分割し、圧縮(gzip)してからCOPYを実行することによって、高速なデータロードが可能です。EMRはEMRFSによりS3上にファイルの読み書きが可能です。

Q10.PostgreSQL のように AUTO VACUUM の仕組みはありますか?
A10.現時点ではAUTO VACUUM相当の機能はありません

Q11.クエリのパフォーマンスを測定する際に、同じクエリを2回実行するとキャッシュが効いているため、1回目と2回目で大きく処理時間が異なる場合があります。クエリのパフォーマンスを複数回測定する際に、安定した結果を得るための良い方法はありますか?
A11.基本的な考え方としては、最初のクエリ(キャッシュ無し)を外し、2回め以降で測定していただくのが良いと考えられます。Redshiftは始めて実行するクエリーはC++言語へのコンパイルとノードへの配布が必要になるため、クエリーを実行する前のオーバーヘッドが大きく存在するためです。


Q12.snapshotから複製すると、接続先のEndpointのFQDNも復元されるそうですが別のClusterとして複製したい場合のベストプラクティスはありますか?テーブル定義やデータは同じで、別のエンドポイントで新たに作成したいケース。(Production環境からStaging環境への複製等)
A12.Snapshotから別クラスターID(別のEndpoint)へリストアする事は可能です。

Q13.テーブル設計について、今回ご紹介頂いた以外のテクニック、考慮点について記載されているドキュメントはありますか?
A13.マニュアルにテーブル設計やチューニングのチュートリアルがありますので、こちらをご参照ください。
http://docs.aws.amazon.com/ja_jp/redshift/latest/dg/welcome.html


Q14.有効な実用例ってありますか?こんな使い方した人がいて、すごく効果的だった的なお話ありますか?
A14.多くのお客様にすでにご採用頂いており、BIのバックエンド、DWHとしての利用が多くあります。効果的だったケースに共通しているのは「今まで貯めこんでいて活用できなかったデータが分析できる仕組みを、短期間で作ることが出来た」という事です。Redshiftは数分程度でクラスターが作成できますし、短期間で小さく試すことで安価な検証が可能です。

Q&Aは以上です。

なお、9月のBlackbeltの開催予定は以下のエントリで紹介しています。9月は「ビッグデータ・データ分析月間」とうシリーズで放送しています。こちらもぜひご覧ください。

■ 9月

http://aws.typepad.com/sajp/2015/08/2015-sep-aws-black-belt-tech-webinar.html

コメント

Twitter, Facebook

このブログの最新情報はTwitterFacebookでもお知らせしています。お気軽にフォローください。

2018年4 月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30