Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis...

64
クラウド上のデータ活用デザインパターン アマゾンウェブサービスジャパン株式会社 ソリューションアーキテクト, 志村 誠 2017.07.05 © 2017, Amazon Web Services, Inc. or its affiliates. All rights reserved. #AWSDBDay

Transcript of Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis...

Page 1: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

クラウド上のデータ活用デザインパターン

アマゾンウェブサービスジャパン株式会社ソリューションアーキテクト, 志村 誠2017.07.05

© 2017, Amazon Web Services, Inc. or its affiliates. All rights reserved.

#AWSDBDay

Page 2: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

自己紹介

2

所属: アマゾンウェブサービスジャパン株式会社業務: ソリューションアーキテクト (データサイエンス領域)経歴: Hadoopログ解析基盤の開発 データ分析 データマネジメントや組織のデータ活用

 

志村 誠 (Makoto Shimura)

Page 3: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

Agenda

• データ活用の流れ• オンプレミス環境でありがちな問題• AWS 上のデータ活用環境• AWS におけるデータ活用のデザインパターン• AWS 上のデータ活用事例

3

Page 4: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

データ活用の流れ

4

Page 5: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

データを活用することで,自分たちのビジネスの問題を把握したり,効果的な施策を実施したり,新しい知見を得たりすることができるようになります

Page 6: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

データ活用の流れ

6

まずはデータを貯める 活用するためのデータがなければ,なにもできない データを貯める

貯めたデータを適切に加工整形して可視化 常に最新の必要なデータが見られるようにする データを可視化

上記 2 つが回るようになって,はじめて高度な分析へ ビジネス課題とゴールが明確になっている必要がある データサイエンス

Page 7: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

https://hbr.org/2017/06/if-your-company-isnt-good-at-analytics-its-not-ready-for-ai

If Your Company Isn’t Good at Analytics, It’s Not Ready for AI

- Harvard Business Review

Page 8: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

各フェーズで必要なツールやリソースを確保

• データ活用の際には,さまざまなツールが必要となる– データの取得と保存,加工整形処理を行うためのツール– 可視化-基礎集計のための SQL / パイプライン処理 / BI ツール– ディープラーニングフレームワークやHadoop クラスタ,

notebook などの分析ツール• ツールやモデルによって必要リソースも異なる

– CPU / GPU / メモリ / IO– 単一インスタンス / クラスタ / 組み込み

8

Page 9: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

高速に試行錯誤を行う

• データ活用は,基本的に試行錯誤を伴う– データの量や中身の変更への継続的な対応– ビジネスの状況変化に伴う,さまざまな指標の定期

的な見直し– 機械学習モデルの構築・改善サイクル

• この試行錯誤の回数をいかに高速に積み重ねるかが,良い結果を導きだすために重要

9

Page 10: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

データ分析をうまく進めるには適切なツールやリソースを確保して試行錯誤のサイクルを高速に回す必要がある

Page 11: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

オンプレミス環境でありがちな問題

11

Page 12: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

オンプレミス環境でのデータ活用はさまざまな「柔軟性」がないためにうまくサイクルを回せないことが多い

Page 13: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

柔軟性の問題

• 時間の柔軟性• アーキテクチャの柔軟性• リソースの柔軟性• ワークロードの柔軟性

13

Page 14: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

時間の柔軟性

14

ハードウェアの減価償却サイクルが長く技術が進歩するスピードやデータ量の増加に追従できない

Page 15: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

アーキテクチャの柔軟性

15

既存のアーキテクチャに投資してしまっておりそこに付け加える形での活用を前提に考えがち

Page 16: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

リソースの柔軟性

16

CPU とストレージが不可分で片方だけ追加できない需要に合わせてリソースを変動させることができない

Page 17: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

ワークロードの柔軟性

17

ワークロードにより異なるさまざまなリソースを適宜用意するのが難しい

Page 18: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

オンプレミス環境でのデータ活用はさまざまな「柔軟性」がないためにうまくサイクルを回せないことが多い

Page 19: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

AWS 上のデータ活用環境

19

Page 20: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

データ活用に適した AWS の特徴

20

Agility: 試行錯誤を簡単に.

大規模でもスモールスタートでも同じようにデータ処理

Scalability: キャパシティや

機能制約を気にすることなく,いつでもジョブを実行

Get to Insights Faster: デー

タの前処理ではなく,データ分析にフォーカスできるように

Broadest and Deepest Capabilities: 90以上のサー

ビスを活用して,あらゆるワークロードでデータ処理

Low Cost: 従量課金制なの

で,必要なコストは使ったぶんだけ払えば良い

Data Migrations Made Easy: ペタバイトスケールのデ

ータまで素早く効率的にクラウドに移行可能

Page 21: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

Amazon S3 Data Lake

Batch Analyti

cs

Amazon KinesisStreams & Firehose

Hadoop / Spark

Amazon RedshiftData Warehouse

Amazon DynamoDB & ElastiCache

NoSQL DB & Redis

Relational Database

Amazon EMR

Amazon Aurora

Amazon Machine LearningMachine Learning

Any Open Source Tool of Choice on EC2D

ata

Sou

rces

Amazon S3を中心としたデータレイク

Clusterless SQL Query

Amazon Athena

Tra

nsac

tiona

l Dat

a

Page 22: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

Amazon S3 Data Lake

Batch Analyti

cs

Amazon KinesisStreams & Firehose

Hadoop / Spark

Amazon RedshiftData Warehouse

Amazon DynamoDB & ElastiCache

NoSQL DB & Redis

Relational Database

Amazon EMR

Amazon Aurora

Amazon Machine LearningMachine Learning

Any Open Source Tool of Choice on EC2D

ata

Sou

rces

Amazon S3を中心としたデータレイク

Clusterless SQL Query

Amazon Athena

Tra

nsac

tiona

l Dat

a

すべてのデータを1ヶ所に集めて保存データストアとデータ処理の分離

用途に応じた適切な処理方法の選択

Page 23: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

Amazon S3高い耐久性と可用性を持つスケーラブルなオブジェクトストレージ

• 99.999999999%の耐久性と,99.99%の可用性を持つ設計

• 暗号化技術(SSE, CSE)にも対応し,安全にデータを保存

• 利用したデータのぶんだけ従量課金• 多くのAWSにとって仮想的なデータレイヤ

Page 24: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

Amazon Kinesis

Amazon KinesisStreams

ストリームデータを処理・分析するための

データを格納

Amazon KinesisFirehose

ストリームデータをS3, Redshift, ESに

簡単にロード

Amazon KinesisAnalytics

ストリーミングデータを標準的なSQLクエリで

簡単に分析

ストリームデータを収集・処理・配信するためのマネージドサービス群

Page 25: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

Amazon EMR

• 運用コストでHadoopを使用• ジョブに応じてクラスタのリサイズが可能• S3上のデータを直接読み込んでジョブを

実行し,結果をS3に吐き出せる• Spark, Hive, Presto, Hbaseなどさまざま

なHadoopエコシステムを利用可能• Jupyter や Rstudio 等必要なソフトウェ

アを入れた形で起動可能• 大規模データのETLや機械学習処理などの

ワークロードに適している

フルマネージドでスケーラブルなHadoopクラスタ

Page 26: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

Amazon Athena

26

フルマネージドでS3上のデータに対してSQLクエリを実行

• フルマネージドで運用コストがかからない• Prestoベースで標準SQLが実行可能• 走らせたクエリのぶんだけ従量課金• S3に貯めたWebサーバのログに対してク

エリを投げてサービス障害の原因を探ったり,手軽にアドホック分析をおこなう

Page 27: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

Amazon Redshiftフルマネージドでスケーラブルなデータウェアハウスサービス

Leader node

Compute nodes

SQL Client / BI Tools

JDBC / ODBC Driver• MPPアーキテクチャとカラムナのデ

ータ格納により,スケーラブルで高速なクエリが実行可能

• データストアを最大2PBまで拡張• JDBC/ODBC経由でさまざまなBIツ

ールと連携• BIツールと連携して,データウェア

ハウスとして分析の中心に

Page 28: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

Amazon Redshift SpectrumRedshift から S3 上のデータに直接クエリできる拡張機能

Leader node

Compute nodes

SQL Client / BI Tools

JDBC / ODBC Driver• Redshift クラスタから,直接 S3 上

のデータにクエリを投げられる• Redshift 内のデータと JOIN するこ

とも可能• 利用頻度の低いコールドデータを S3

に置いて Spectrum 経由でアクセスし,ホットデータのみ Redshift 内にロードしておく

• 複数の Redshift クラスタから同じ S3 上のデータを読み込む

Page 29: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

P2 インスタンス + Deep Learning AMI

• インスタンスあたり最大 16個の GPU (NVIDIA Tesla K80)を使うことで,ディープラーニングのモデル構築にかかる時間を大幅に短縮可能

• Deep Learning AMI によって,主要フレームワークがすべてプリインストールされた状態で,インスタンスが立ち上がる

29

InstanceName

GPUCount

Memory GPUMemory

NetworkPerformance

P2.xlarge 1 61GiB 12 GiB High

P2.8xlarge 8 488GiB 96 GiB 10 Gigabit

P2.16xlarge 16 732GiB 192 GiB 20 Gigabit

Page 30: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

AWS におけるデータ活用のデザインパターン

30

Page 31: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

BI パイプラインパターン データサイエンスパイプラインパターン パイプライン

マルチクラスタパターン ホットデータパターン ラムダアーキテクチャパターン

複数レイヤの分析

マルチノードパターン マルチツールパターン スタンプパターン

分析の柔軟性

AB テストパターン データマネジメントパターン カタログサーチパターン

品質の担保

Page 32: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

BI パイプラインパターン DS パイプラインパターン パイプライン

マルチクラスタパターン ホットデータパターン ラムダアーキテクチャパターン

複数レイヤの分析

マルチノードパターン マルチツールパターン スタンプパターン

分析の柔軟性

AB テストパターン データマネジメントパターン カタログサーチパターン

品質の担保

Page 33: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

BI パイプラインパターン

33

• Redshift および Athena で S3 上のさまざまなデータを可視化• 既存のデータウェアハウス / BI 環境を活用• 必要なデータはすぐにアクセスでき,簡単に可視化できる環境

S3 S3EMRData Source

Redshift QuickSight

Page 34: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

BI パイプラインパターン

34

• Redshift および Athena で S3 上のさまざまなデータを可視化• 既存のデータウェアハウス / BI 環境を活用• 必要なデータはすぐにアクセスでき,簡単に可視化できる環境• Athena で生データにも直接アクセス

S3 S3EMRData Source

Redshift QuickSight

Athena

Page 35: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

リブセンスさまアナリティクスのためのデータパイプライン

https://speakerdeck.com/livesense/ribusensufalsedetafen-xi-ji-pan-falsequan-mao

Page 36: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

データサイエンスパイプラインパターン

36

• Kinesis 経由で取得したストリームデータに前処理 & 機械学習モデルを適用

• モデルの適用結果をすぐに API 経由で利用できるようにする• S3 に貯めたデータを使って,定期的にモデルを更新

Data Source

KinesisStreams

EMR

S3

Dynamo DB Lambda API Gateway

Page 37: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

Hearst さまクリックストリームを高速に分析する

https://www.slideshare.net/AmazonWebServices/bdt306-how-hearst-publishing-manages-clickstream-analytics-with-aws

Page 38: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

BI パイプラインパターン DS パイプラインパターン パイプライン

マルチノードパターン マルチツールパターン スタンプパターン

分析の柔軟性

AB テストパターン データマネジメントパターン カタログサーチパターン

品質の担保

マルチクラスタパターン ホットデータパターン ラムダアーキテクチャパターン

複数レイヤの分析

Page 39: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

マルチクラスタパターン

• ワークロードに応じて,最適なスペックのクラスタを使用• 各コンピュートリソースが明確に分かれており,互いに影響を与える

ことなく,並列で処理を実行可能

S3

EMR(ETL)

EMR(部署 A クエリ)

EMR(部署 B クエリ)

EMR(ユーザ A 機械学習)

EMR(ユーザ B 機械学習テスト)

EMR(ユーザ B 機械学習 本番)

Page 40: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

FINRA さまS3 上のデータに対して複数の EMR で分析を実施

https://www.slideshare.net/AmazonWebServices/bdt305-amazon-emr-deep-dive-and-best-practices

Page 41: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

ホットデータパターン

41

• 蓄積したデータについて,直近のホットデータとコールドデータでアクセスの方法を変える

• コストを下げつつ,全データへのアクセシビリティを確保

S3(過去データ)

Redshift(直近3ヶ月データ)

Spectrum経由でアクセス

Page 42: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

NASDAQ さまホットデータは Redshift / コールドデータは Presto

https://www.slideshare.net/AmazonWebServices/bdt314-a-big-data-analytics-app-on-amazon-emr-amazon-redshift

Page 43: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

ラムダアーキテクチャパターン

43

• 取得したデータについて,スピードレイヤーとバッチレイヤーの 2系統で処理を行う

• サービスの状態をモニタリング対応しつつ,貯めたデータをじっくり分析

Kinesis Stream

Data Source

Kinesis Analytics

KinesisFirehose

ElasticsearchService

S3KinesisFirehose

Redshift QuickSight

Page 44: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

SmartNews さまスピードレイヤーとバッチレイヤーによる可視化

https://www.slideshare.net/smartnews/20160127-building-a-sustainable-data-platform-on-aws

Page 45: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

BI パイプラインパターン DS パイプラインパターン パイプライン

AB テストパターン データマネジメントパターン カタログサーチパターン

品質の担保

マルチクラスタパターン ホットデータパターン ラムダアーキテクチャパターン

複数レイヤの分析

マルチノードパターン マルチツールパターン スタンプパターン

分析の柔軟性

Page 46: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

マルチノードパターン

46

• パラメタやデータを変えて,複数のモデルを並列で走らせる• AWS Batch で複数の ECS コンテナを立ち上げ,ディープラーニング

モデルのハイパーパラメータ探索を行う

S3Batch

ECS Worker

ECS Worker

ECS Worker

Page 47: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

マルチツールパターン

47

• Zeppelin / Jupyter / Rstudio 等で必要なデータを深く分析• 用途に応じて柔軟にクラスタサイズを変更して,マシンリソースを確保• モデル作成に必要なデータは,生データまでさかのぼって取れるように

S3 S3EMRData Source

EMR

EMR

P2 instance

Page 48: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

Netflix さまさまざまなツールを用いてデータを活用

https://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-netflix-using-amazon-s3-as-the-fabric-of-our-big-data-ecosystem-bdm306

Page 49: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

スタンプパターン

49

• あらかじめ自分たちのモデル構築に必要な環境を,AMI の形で構築しておくことで,同じ環境を簡単に構築可能

• Deep Learning AMI をベース + 独自のパッケージを追加

S3

P2 instance(モデル A)

P2 instance(モデル B)

P2 instance(モデル C)

Page 50: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

BI パイプラインパターン DS パイプラインパターン パイプライン

マルチクラスタパターン ホットデータパターン ラムダアーキテクチャパターン

複数レイヤの分析

マルチノードパターン マルチツールパターン スタンプパターン

分析の柔軟性

AB テストパターン データマネジメントパターン カタログサーチパターン

品質の担保

Page 51: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

AB テストパターン

• 複数の機械学習モデルを並行稼働させ,パフォーマンスをみながら採用するモデルを決める

• 各モデルへのトラフィック配分の変更や切り戻しも容易

Client API Gateway Lambda ELB EC2 ECS EMR

or or

EC2 ECS EMR

or or

90%

10%

Page 52: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

データマネジメントパターン

• データだけでなく,メタデータも合わせて管理• 生データも加工済みデータも S3 に置いて,再利用性を高く保つ

S3 EMR

Data Source

Dynamo DB

KinesisFirehose

Data Source

Data Source

Page 53: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

カタログサーチパターン

• データだけでなく,メタデータも合わせて管理• メタデータを ES に突っ込んで検索可能にしておく

KinesisFirehose

Data Source S3

Dynamo DB

Lambda

ElasticsearchService

Page 54: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

JINS さまデータの登録と検索

54 https://d0.awsstatic.com/events/jp/2017/summit/devday/D4T8-2.pdf

Page 55: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

AWS 上のデータ活用事例

55

Page 56: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

すかいらーくさまのデータ分析基盤

課題• 既存の施策の費用対効果を,定量的に把握できる仕組みになっ

ていなかった– 3000店舗ぶんの大量データが整備されずに存在

• マスマーケティングしか行えず,お客さまに対して個別アプローチができない

解決策• 各種データを AWS に集約して,高速に分析できる環境を構築• スマホアプリと連動させて,パーソナライズした施策を実施

56

Page 57: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

すかいらーくさまのデータ分析基盤

POS データや顧客マスタ,スマホアプリのログを Redshift に集約し,わずか1ヶ月で本番稼働

57

Page 58: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

すかいらーく:データを活用した取り組み

• 多様なマーケティング施策の実施– CMを含む各種プロモーションに対し,ABテスト– POSデータの項目を戦略的に追加し,分析の軸を増やす

• パーソナライズ施策の実施– 広告,クーポンを各お客さまの属性に合わせて配信

58

Page 59: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

日本経済新聞社さまの AI 記者

• 決算サマリーを自動生成して配信• 2017/1/25-5/26 で 6787 サマリーを生成,1-2 分で記事を公開

59 https://d0.awsstatic.com/events/jp/2017/summit/slide/D4T5-3.pdf

Page 60: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

日本経済新聞社さまの AI 記者

60

Page 61: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

日本経済新聞社さまの AI 記者

• 編集現場では,仕事を取られるという意識はなく,サポートとしての期待が大きい

• 速報や定型業務を AI に任せて,より付加価値の高い業務に集中

61

Page 62: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

まとめ

62

Page 63: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

まとめ

• AWS を活用することで,必要なツールやリソースを柔軟に確保し,高速な試行錯誤のサイクルを回すことが可能に

• データ活用システムを構築する際には,デザインパターンや事例を参考にして,よいアーキテクチャを実現

63

Page 64: Presentation Title Here - Amazon S3€¦ · Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache

64