AWS公式トレーニング「Data Warehousing on AWS」受講レポート

こんにちは、yokatsukiです。

2016年12月6日〜8日の日程で、AWSの公式トレーニング「Data Warehousing on AWS」の日本における開催がスタートしたので、早速受講してきました。

結論から言うと、こちらのトレーニングは、これからAWSでデータウェアハウスを構築したい方、必見の内容となっていました。以下トレーニングの詳しい内容についてお伝えしていきます。

トレーニングの概要

「Datawarehousing on AWS」では、AWSのペタバイトスケールのデータウェアハウスであるAmazon Redshiftを使ってクラウドベースのデータウェアハウスソリューションを設計するための概念、戦略、およびベストプラクティスについて紹介します。このコースは、Amazon DynamoDB、Amazon EMR、Amazon Kinesis Firehose、およびAmazon S3といったそのほかのAWSサービスを使ってデータウェアハウスに対してデータを収集、格納、および準備する方法について説明します。またこのコースでは、データで分析を実行するためにビジネスインテリジェンスツールを使用する方法についても説明します。

AWS トレーニング | Data Warehousing on AWS

トレーニングは3日間あり、内容は大まかに以下の構成になっています。

  • AWSのデータウェアハウス関連サービスを理解する
  • Amazon Redshiftの概要
  • Amazon Redshiftを起動するために必要な要素
  • Amazon Redshiftの起動とデータロード
  • Amazon Redshiftの運用
  • 分析と可視化の為のBIツールの概要

カリキュラムの詳細はAWS トレーニング | Data Warehousing on AWSの「コースの概要」をご覧ください。

講義内容は「モジュール」と呼ばれる単元に別れています。また、モジュール毎に「ラボ」と呼ばれる演習課題が用意されており、受講した内容を実際の環境で体験し、理解を深めることができるようになっています。

対象者

このコースは次のような方を対象としています。

  • データベースアーキテクト
  • データベース管理者
  • データベース開発者
  • データアナリストおよびデータサイエンティスト

Amazon Redshiftを構築、運用する方が主な対象になります。データアナリストのようなAmazon Redshiftを単に利用する立場の人は、クラスタ構築の部分は不要かもしれませんが、データのロード方法や、検索の性能を上げるためのテーブル設計・設定に関しては、大いに役立てることができると思います。

前提知識

このトレーニングでは、受講する前に次の知識を身につけておくことが推奨されています。

前提として必要な知識はあまりありません。AWSに関する基礎知識がある上で、一般的なリレーショナルデータベース(RDBMS)を操作した経験のある方であれば条件を満たしていると思います。

講習実施風景

注:会場、講師やスケジュール配分は、開催日程によって異なる可能性があります。

今回トレーニングの会場となったのは東京、目黒にあるAWSJのオフィスでした。各席には演習を実施する為のノートPCと追加ディスプレイが設置されています。この2画面を使ってテキストを参照したり、演習を実施したりできます。

training-report-data-warehousing-on-aws-01

テキストについて補足ですが、受講を申し込むと、講習初日までに各種案内のメールが送られてくるので、それに従って手続きを済ませておくと、オンラインでテキストがダウンロード、参照できるようになっています。オンラインであれば良いので、演習のPCでも、持ち込みのノートPCでも、どちらでも好きな方法で参照が可能です。

講師は今回初回ということで2名で実施されました。アマゾンウェブサービスジャパン テクニカルトレーナーの大村さんがメイン講師、そして特別講師的な立場でソリューションアーキテクトの柴田さんという体制でした。

training-report-data-warehousing-on-aws-02
(講師の大村さん。わかりやすく丁寧な講義をしていただきました)

training-report-data-warehousing-on-aws-03
(柴田さん。要所要所で技術詳細を深掘り解説して頂きました)

トレーニングで学べること、役立つ点

「Data Warehousing on AWS」を受講することで学べることと、受講後業務に役立ちそうな点について紹介します。

データウェアハウスと、データウェアハウスと取り巻く環境、用語の整理

一口にデータベース、データウェアハウス、ビッグデータと言っても、よく聞くと本来の意味ではない使い方をしてしまっていることで、お互いに誤解を生んでいる事がしばしば発生します。まず最初にそれら用語の確認を行って、これからの内容理解に齟齬が起きないよう整理をしています。

  • リレーショナルデータベースとは、SQLとは
  • OLTPとOLAPの違い
  • データウェアハウスとデータマートの違い
  • スタースキーマとスノーフレークスキーマの違い
  • ビッグデータの5つのV

用途別のAWS適用サービス

AWSには実に沢山のサービスがあり、それぞれのサービスの目的や用途を知っておかないと、データ分析の為にはどのサービスを使うのか選択することも難しいと思います。本講習では、オンプレミスのデータ分析基盤をスタート地点に、データ分析基盤構築に必要な要素を、AWSではどのサービスが受け持つかを理解することができます。

Amazon Redshiftの概要とクラスターの構成

この講習における重要な目的の一つが、Amazon Redshiftを使いこなせるようになる、という点です。講習ではAmazon Redshiftの目的や提供までの歴史、コンセプトを紹介し、Amazon Redshiftが一般のRDBMSとどう違うのかを内部構造も交え詳細に解説し、Amazon Redshiftが活用できるユースケースについてしっかり理解できるようになっています。

また、Amazon Redshiftのクラスターを構成する際に議論となるノードサイズとノード数の構成の指針や、実際にクラスター構成の前準備として必要な以下について詳細な解説があります。

  • 基本のVPC(リージョン、アベイラビリティーゾーン、サブネット、セキュリティグループ)
  • クラスターサブネットグループ
  • クラスターパラメータグループ
  • 暗号化
  • クライアント接続のためのAmazon Redshiftドライバ
  • モニタリングと監査
  • アクセスコントロール

この辺りから、演習(ラボ)の時間が用意されており、演習用に準備されたAWSアカウントで、講義で確認した内容を実際にAWS Management Consoleを操作して体験することができます。

クラスターを構築するラボでは、VPC設定が何もない状態からのスタートなので、身につけた操作手順を実践のアカウント上でも実施し、目的に則した、実運用に堪えるクラスターを構成できるようになります。

Amazon Redshiftにおけるテーブル設計とデータ管理

クラスターが構成できたら、データを格納するテーブルが必要です。本講習では、Amazon Redshiftにおけるテーブルが持てるデータ型等の基本的なルールから、効率よく、かつ高速にデータを検索できるようにするための実践的なノウハウまで知ることができます。

例えば、Amazon Redshiftにおいてデータの格納や検索効率を高める仕組みとして、以下の要素をテーブルに設定することはよく知られています。しかし、これらを本当に理解し、使い分けられているかというとなかなか難しいと思います。これらを本講習では1つ1つ理解することができます。

  • データ圧縮
  • データ分散
  • ソートキー設定

テーブルが作成できたらデータを投入しますが、そこで投入元となるデータソースについても、S3だけでない、DynamoDBやEMR、Lambdaを利用したパターンまで、様々な構成例を紹介してもらえます。また、最近使われ始めた「データレイク」の概念も、テキストではAWSのサービスにマッピングする形でわかりやすく説明されているので、受講後データ分析環境を構築する際にはいち早くこのデータレイクの概念を実装することができます。

データロードの際には、データの構造に関しても注意が必要ですが、具体的にどのような形に整形して、どのような手順でデータをロードするかが解説されています。もちろんエラーが発生した場合の対処や、ロード後のVACUUMの必要性についても説明されているので、実案件でロード後のVACUUMを設定していなかったのでデータが肥大化して…というトラブルが発生しないようになっています。

データロードのラボでは、東京リージョンにまだ上陸していないAmazon Kinesis Firehoseを使って、Lambdaで発生させたデータを短いタイムラグでAmazon Redshiftにロードする実装を体験することができます。東京リージョンに無いことから、お客様もあまり興味を示されなかった機能なので個人的にも触っていなかったのですが、実際に動かしてみてそのメリットを理解することができました。このように自分からはなかなか触らない機能を丁寧な手順書とアドバイスの下で動かすことができるのも、有償トレーニングを受ける価値だと思います。

クエリの性能向上策

データのロードが完了し、BIツールやSQLクライアントツール等からクラスターに問い合わせを行う際の、Amazon Redshiftにおける仕様から注意点までの全般を理解することができます。

クエリの性能を向上させるノウハウを、Amazon Redshiftの内部動作を交えながら体系的に理解できます。今まで場当たり的になりがちだったパフォーマンスチューニング操作を、クエリプランを見ながら戦略的に実施できるようになります。

Amazon Redshiftの同時実行性については、RDS含めた一般的なRDBMSとだいぶ考え方が違うのでよく理解しておく必要がありますが、その点もきちんと説明頂け、理解できるようになっています。ワークロード管理については、受講するまではあまり必要性を理解していなかったのですが、柴田さんに「3つのクエリを同時に実行して処理時間が全て3倍になるよりも、キューに格納して順次処理する方が平均の処理時間を短くすることができる」とわかりやすく解説して頂き理解ができました。

クラスターの保守

本講習は非常に実践的な構成なので、もちろんクラスターを構築した後の保守に関しても網羅しています。具体的にはCloudTrailによる監査ログの取得、パフォーマンスの監視、イベントが発生した場合の通知について説明を受け、実際にラボで確認することができます。

また、クラスターサイズの変更やクラスターのバックアップと復元、災害対策についてもラボによる体験として身につけることができます。これらもなかなか実際に本番環境では行わない操作なので、実際にやってみることで肌感覚を身につけることができ、自信を持ってプロジェクト環境に実装ができるようになるかと思います。

コースの終盤で少し時間をとって、大村さんからトレーナーのアンケートデータを管理するデータウェアハウスの設計について ディスカッションのネタ振りがありました。 講義の中ではあまり深い議論まで行いませんでしたが、題材は面白かったので、自分ならどうするかということは考えてみたいと思います。

分析と可視化

最後の単元はAmazon Redshiftに蓄積されたテーブルのデータを、具体的にどのようにして分析、活用するかという内容です。ラボでは予め準備されたTibco Spotfileを使用して、Amazon Redshiftのテーブルをグラフとして可視化する、という操作で、最終的にユーザが利用するところまでを確認することができます。

ここについては、AWSの新機能が積極的に提供されている領域でもあり、テキストにはプレビューと書いてあるQuickSightも受講時にはリリースされていました。ここは大村さんに、あらかじめ準備されたデモを実施して頂きました。(下写真)

training-report-data-warehousing-on-aws-04

他には、講習のつい数日前にリリースされたAmazon Athenaについても紹介されており、講習の中で、出来る限りの最新情報を得ることができるように考慮されている事が伝わりました。

受講したメンバーの感想

今回は、弊社よりAWSコンサル部の菊池とデータインテグレーション(DI)部の甲木が参加しました。それぞれが「ここがよかった!」と思った点を共有します。

菊池の感想

メインはAmazon Redshiftですが、それに限定されるわけではなく、IAMやVPCといった前提となるサービスの解説もありましたので、AWSを利用し始めたばかりで自信のない方でも安心して受講できると思います。
また、Amazon DynamoDB、Amazon EMR、Amazon Kinesis Firehose、Amazon S3といった他サービスと連携させたユースケースもあり、非常に実践的です。
さらに今回は、re:Invent 2016の直後に開催ということもあって新サービスであるAmazon Athena、AWS Glueについてもご紹介いただきました。
Amazon Redshiftを中心に、データ分析で必要となるサービスの選択ポイント・使い方をトータルで学ぶことができる講習でした。

甲木の感想

以下の点で、本講習はとても価値があると思いました。

公式トレーニングの安心感
AWSが提供するトレーニングなので、AWSにおけるデータウェアハウスの「我流ではない、正しい」構築、運用方法を知ることができます。従って、このトレーニングで身につけた内容を実案件に安心して適用することができます。
講師の高いスキルレベル
講義の説明においても、質問に対しても「なぜそうなのか」という根拠を事前によく調査されたAWSの仕様に基づいて提示頂けるので、本当かな?と疑わしく思うところは全くありません。また、セルフラボからデータサイズの大きいサンプルをラボに取り入れたり、新機能についても説明頂いたりと、トレーニングをより価値あるものにする為に最善を尽くして頂きました。
質の高いテキストとラボコンテンツ
公開されているAWSのマニュアルは文書が中心であまり図入りの解説や例がありません。講習テキストはふんだんに図を用いて初学者にもわかりやすい流れで記述されています。また、ラボの内容も講義の理解を助ける構成になっていました。

今後のトレーニング実施予定

2017年以降のトレーニング開催日程と価格については、クラスとワークショップのページから「Data Warehousing on AWS」の「クラスを検索する」をクリックして確認下さい。

演習環境を伴うクラスルームトレーニングですので、各回に定員が設けられています。開催日に近くなると満席になる可能性もありますので、早めのお申込みがおすすめです。

まとめ

本トレーニングは、データウェアハウスの基本的な理解から始まり、Amazon Redshiftの構築、データローディングの具体的な設計、運用、そしてBIツールでデータを検索するまでを一通り体験できる、網羅性が高く、かつ密度も高いコースでした。

前提知識も高くありませんので、「今のところとりあえずS3にデータを貯めているが、このデータをどうやって分析に活かそうか?」「データウェアハウスを構築したいけれど、AWSではどう作るのが一番良い?」とお悩みの方は、是非ご受講頂くことをお薦めします。

それでは、また。