Top Banner
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. アマゾン ウェブ サービス ジャパン ソリューションアーキテクト 下佐粉 昭 201663クラウド上に効率的な ビッグデータ処理基盤を構築するには? ~データ特性に応じたシステム設計~
52

クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora...

Feb 10, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

1 © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

アマゾン ウェブ サービス ジャパン

ソリューションアーキテクト 下佐粉 昭

2016年6月3日

クラウド上に効率的な

ビッグデータ処理基盤を構築するには?~データ特性に応じたシステム設計~

Page 2: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

2

TwitterでAWS Summitに参加しよう!

公式アカウント@awscloud_jpをフォローしたお客様に

フリクションボールペンをプレゼント!

【配布場所】ロビーや展示会場のコンパニオンが配布中!お気軽にお声かけください。

Page 3: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

3

コレクター

KinesisProducer

ストリームデータ

KinesisStream

Lambda

KinesisConsumer

AWSIoT

IoTDevice

本セッションの範囲ビッグデータ処理基盤:2つの領域

• 一旦ディスクに保存(着地)してからの処理

• バッチ、マイクロバッチ

• Hadoop, Data Warehouse ..

• リアルタイム処理

• ストリーミング処理

本セッションで扱う内容

Page 4: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

4

ビッグデータ処理基盤 on クラウド:変わらないこと

• データを収集して、分析し、可視化

• 分析では、標準的な技術・OSSや商用ソフトウェアを活用

• AWSのマネージドサービスを活用することでより便利に

収集 分析 可視化

データを収集 大規模データを高速に分析

人間が参照しやすい形に

Page 5: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

5

クラウド+ビッグデータ:3つのポイント

#1. 全てを叶える万能ツールは存在しない

#2. データは加工せず全期間を残す

#3. スケールアウトで解決する

CLOUD BIG DATA+

Page 6: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

6

#1. 全てを叶える万能ツールは存在しない

例)自由検索&レポート

• レスポンス:数秒~数分

• データサイズ:直近13ヶ月(ホットデータ)

• 技術:高速RDB、BIツール

例)長期的なビジネストレンド分析

• レスポンス:数十分~数時間

• データサイズ:全期間データ(10年間)

• 技術:スループット重視、Hadoop

ONE SIZE

DOES NOT

FIT ALL

photo credit; marissa anderson

https://goo.gl/FTAU81

Page 7: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

7

必要な技術を必要なところへ配置する

基準:サイズ、レイテンシー、アクセス頻度、コスト …

物理構築の負荷から開放され、何をどう使うかにフォーカス

収集 分析 可視化自由検索

分析 可視化全期間分析

Page 8: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

8

これまで:

1. ディスクが高価で上限がある

2. データはサマリーだけ、もしくは期間限定で保存

3. 処理できる内容は固定的

#2. データは加工せず全期間を残す

On クラウド:

1. 安価・上限無しのストレージ

2. オリジナルデータを全て残す

3. 処理対象・処理内容はビジネスに合わせて変わる

インフラ管理者の仕事:データを活用して新しい課題に素早く対応できるインフラを用意する。個別リクエストへの対応

インフラ管理者の仕事:ストレージを溢れさせず、時間内に処理が終るようにサイズや処理内容を調整する

Page 9: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

9

データレイク

• 多様なデータを一元的に保存

• データを失わない

• サイズ制限からの開放

• 決められた方法(API)ですぐにアクセスできる

→システム全体のハブ

センターデータ

非構造化ファイルテキストファイル

RDBMS

データレイク

API呼び出しによる連携

Page 10: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

10

• 適切な技術を選択する (#1)

• データを消さずにデータレイクに集め、分析につなげる(#2)

大規模データ分析に必要な基盤

収集 データレイク

(保存)

分析 可視化

データを収集し、データレイクへ格納

全期間保存。共通APIでアクセス

ニーズ #1

分析 可視化ニーズ #2

AP

I

Page 11: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

11

#3. スケールアウトで解決する

スケールアップもスケールアウトもクラウドでは容易

…しかしスケールアップには限界がある(CPU、メモリ)

スケールアウト可能なテクノロジー

=規模の増加に耐えうる設計

S

XL

スケールアップ

スケールアウト

Page 12: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

12

スケールアウト ≠ 高価

クラウドではスケールアウトがコスト・時間の両面で効率的

• 必要な時に必要なだけノードを追加できる

• ノードを増やしても利用時間が短くなればコストは同じ

処理時間

8時間 処理時間

2時間

JOB

16ノードに拡張

JOB

4ノード×8時間=32

16ノード×2時間=32

Page 13: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

13

• 適切な分析技術を選択する (#1)

• データをデータレイクに集め、多様な分析につなげる(#2)

• 分析はスケールアウト可能なインフラの上で(#3)

大規模データ分析 on クラウド(ここまでのまとめ)

収集 データレイク

(保存)

分析 可視化

データを収集し、データレイクへ格納

全期間保存。共通APIでアクセス

可視化

スケールアウト可能な技術

分析スケールアウト

可能な技術A

PI

Page 14: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

14

AWS+ビッグデータ分析基盤

Page 15: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

15

EC2があれば何でも出来るけど…

マネージドサービスで管理負荷を低減可能

電源・ネットワーク

ラッキング

HWメンテナンス

OSパッチ

ミドルウェアパッチ

定形運用設計

スケールアウト設計

ミドルウェア導入

OS導入

アプリケーション作成

オンプレミス 独自構築 on EC2 AWSマネージドサービス

お客様がご担当する作業 AWSが提供するマネージド機能

電源・ネットワーク

ラッキング

HWメンテナンス

OSパッチ

ミドルウェアパッチ

定形運用設計

スケールアウト設計

ミドルウェア導入

OS導入

アプリケーション作成

電源・ネットワーク

ラッキング

HWメンテナンス

OSパッチ

ミドルウェアパッチ

定形運用設計

スケールアウト設計

ミドルウェア導入

OS導入

アプリケーション作成

Page 16: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

16

分析保存

Amazon

Glacier

AmazonS3

Amazon

DynamoDB

Amazon RDS/

Aurora

AWSマネージドサービス:ビッグデータ

AWS Data

Pipeline

Amazon

CloudSearch

Amazon EMR

Amazon EC2

Amazon

Redshift

Amazon

Machine

Learning

AWS IoT

AWS Direct

Connect

収集

Amazon Kinesis

Amazon

Kinesis

Firehose

Amazon

Elasticsearch

Amazon

Kinesis

Analytics

Amazon

QuickSight

AWS DMS

(近日公開)

(近日公開)

Snowball

可視化

Amazon EC2

Page 17: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

17

例)オンプレミスのデータをAWSで分析する• データ・ソースがオンプレミスのDC内に複数

• 多種多様なシステムからEXPORTしたデータをAWSへ転送(定期的)

• 10年間以上のデータを保存して分析できるようにしたい(例:数100TB~)

• 多くの利用者は直近1年間のデータしか分析しない(例:数10TB)

収集 データレイク

分析 可視化

EXP ? ? ? ?

Page 18: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

18

経路と帯域

経路によって帯域・安定性が異なる

• インターネット経由

• Direct Connect(専用線)

• Import/Export Snowball

帯域を活かすには、並列化が有効

オンプレミスDC

orders1.csv

1,pencil,100,15-06-01

2,eraser,50,15-06-02

・・・

ordersN.csv

30,pen,150,15-06-28

31,book,50,15-06-29

• 差分・圧縮• 並列転送

DX(専用線)

インターネット

VPN

OR

プロトコルの選択

Page 19: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

19

データ転送方法の検討ポイント

• 送信データを小さくする

• 圧縮、差分

• 帯域を使い切れていない場合は、並列化が最重要

• 転送先がS3の場合、aws s3コマンドを使うと、自動的に分割して転送される

• 帯域の安定性が問題の場合はプロトコルを専用のものに• 高速ファイル転送に最適化されたプロトコルやツールが開発

されている。商用ソフトウエアや、Tsunami UDP(OSS)等

• http://tsunami-udp.sourceforge.net/

• 1ファイル当たりの転送においてscp等より速度が出やすい

Page 20: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

20

Amazon S3

データ分析

Elastic MapReduce

Redshift

データバックアップ

EC2 RDS

Storage Gateway

EBS

Redshift

コンテンツ配信

CloudFront

データアクセスGW

Storage Gateway

コンテンツトランスコード

Elastic Transcoder

データアーカイブ

Glacier

データ交換

Data Pipeline

AWSのデータレイク=Amazon S3

Page 21: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

21

S3によるデータレイク実現のメリット

• 上限無し:サイジング不要

• 高い耐久性:99.999999999%

• 安価な費用:

• $0.033/GB/月*(スタンダード)

• $0.019/GB/月*(標準-低頻度アクセス)

例)10TBの保存で約2.1万円/月**

• APIアクセス

• 多様な言語にライブラリを提供

• AWS各種サービスと連携

データレイク

Amazon

EMR(Hadoop)

Amazon

Redshift

Amazon

API

Gateway

Amazon

S3

センターデータ 非構造化ファイルテキストファイル

RDBMS

* 費用は2016年6月時点での東京リージョンでの価格です** 1USドル = 110円での試算

Machine

Learning

Page 22: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

22

ElastiCacheインメモリDB

RDS

RDB

DynamoDB

NoSQL

Amazon S3汎用ファイルデータレイク

Amazon Glacier長期保存

階層化による格納(#1. 全てを叶える万能ツールは存在しない)

ホットデータ:

• 応答速度重視

• 限定範囲のデータ

コールドデータ:

• 容量当たりの単価重視

• 膨大なデータ

Page 23: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

23

Amazon Redshift

• マネージドRDBMS

• SQL(標準)

• スケールアウト可能

スケールアウト可能な分析サービス

Amazon Elastic MapReduce (EMR)

• マネージドHadoop

• Hadoop/Spark(標準)

• スケールアウト可能

OR

マネージド, 標準技術, スケールアウトが選択の鍵

Page 24: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

24

Amazon Redshift

特徴

• データサイズ:最大2PBまで拡張可能

• 超並列(MPP)、カラムナ型DBエンジンによる高速SQL処理

• スケールアウト可能。最大128台

• PostgreSQLとの互換性

• 使った分だけの利用料金。従来のデータウェアハウスの1/10のコストで実現

フルマネージドのデータウェアハウスサービス

10Gb Ether

JDBC/ODBC

Redshift大規模分散処理で分析SQLを高

速実行

Page 25: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

25

SQLを分散処理(スケールアウト)

SELECT * FROM …

SQLをコンピュートノードへ配信

CPU CPU CPU CPU CPU CPU

リーダーノード

コンピュートノード

分散してSQLを処理

ノードに直結した高速ストレージ

Page 26: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

26

フルマネージド型のRDBMS

運用管理に必要な機能をビルトイン

• S3からの高速ロード&アンロード

• 自動バックアップ&リストア

• モニタリング

• データの再編成

• クエリの解析:

Page 27: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

27

Amazon Elastic MapReduce(EMR)

大規模データ処理をHadoop/Sparkなどの分散処理フレームワークを使って効率的に処理

AWS上の分散処理サービス• 簡単かつ安全にBig Dataを処理• 多数のアプリケーションサポート

簡単スタート• 数クリックでセットアップ完了• 分散処理アプリも簡単セットアップ

低コスト• ハードウェアへの投資不要• 従量課金制• 処理の完了後、クラスタ削除• Spotインスタンスの活用

Hadoop

分散処理アプリ

分散処理基盤

Amazon EMRクラスタ

簡単に複製リサイズも1クリックSpotも利用可能

Page 28: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

28

EMRFS: S3をHDFSの様に扱う

“s3://” と指定するだけでHDFSと同様にS3にアクセス

• 計算資源とストレージを分離できる

• コスト面でもメリット大

• クラスタのシャットダウンが可能

• クラスタを消してもデータをロストしない

• 複数クラスタ間でデータ共有が簡単

• データの高い耐久性(S3)

EMR

EMR

Amazon

S3

Page 29: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

29

EMRで稼動するSQLエンジン

SQLエンジン操作アプリ ストレージ

YARN

Map

ReduceTez Spark

HiveSpark

SQL

Presto

JDB

C /

OD

BC

Hiv

e M

eta

sto

re

HDFS

EMRFS

Hue

Zeppelin

SELECT…

Page 30: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

30

データ分析プラットフォーム比較Amazon Redshift Amazon EMR

分類 大規模データ処理に特化したマネージドRDBMS

Hadoop/Spark等分散処理フレームワークのマネージド環境

処理系 SQL(PostgreSQLと互換性) アプリケーションに依存:Hive、Pig …

Presto等でSQLでの分析も可能

スケールアウト 可能 可能

ストレージの種類 高速なローカルストレージ HDFS、もしくはEMRFSでS3上のデータを取り込まずにアクセス

ノードとストレージの分離

ノードとストレージは同時に増加・削減

ストレージに影響を与えずにノード増減が可能(EMRFSの場合)

最大処理サイズ 2PB(圧縮後) 上限無し(EMRFSの場合)

処理レイテンシー Low • Presto (Low)

• Hive (Midium~High)

運用管理 運用管理に必要な機能がビルトイン 分散処理系+OSSアプリ環境を容易に

分析ツール、ETL等 JDBC/ODBC+プッシュバック対応等ネイティブレベルでの対応

JDBC/ODBC経由もしくはHive メタストア経由で多くの環境がサポート

Page 31: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

31

Amazon Redshift

• SQL処理に特化・高速

• ローカルディスク上で処理

分析サービスの選択例

Amazon Elastic MapReduce (EMR)

• 自由にアプリケーションを選択

• EMRFSでS3データにアクセス

S3に直接アクセスできるEMRFSを使い、データレイク上の全期間のデータ分析に活用

頻繁にアクセスされるホットデータを格納し、高速なSQLアクセス機能を活用して分析

Page 32: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

32

分析に必要なプリプロセスをどこで実行するか?

AWSに転送前のオンプレミス環境で実施• スケールアウトが困難

• データレイクをオンプレミス側に用意する必要がある

S3上のファイルをElastic MapReduceで変換• スケールアウト可能なインフラで処理

• 言語・アプリを柔軟に選択可能

• データレイクを含むAWSサービスへの接続性

Redshift内でSQLで変換• スケールアウト可能

• Redshift内に取り込んだデータのみ操作可能

Page 33: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

33

EMR:プリプロセス処理に向く高い接続性

例)Spark on EMRとAWSサービスとの連携

Amazon EMR

Amazon S3(データレイク)

DynamoDB

Amazon RDS

Amazon Kinesis

Amazon Redshift

Elastic Search

Service

EMRFS

Streaming Data

Connector

Copy from

HDFS

EMR-DynamoDB

Connector

JDBC(SparkSQL)

Elastic Search

Connector

Page 34: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

34

例)プリプロセスの構成例

Amazon RedshiftAmazon EMR• 非構造化データの構造化・整形• 構造化データのフィルタリング• S3へ変形済データを出力

サマリーテーブル

ファクトテーブル

マート・サマリー表の更新をSQLで実行

Amazon S3

全データ 変形済データ

Page 35: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

35

可視化部分は用途に応じて選択可能

EC2+BIツール• 多彩なパートナーソリューショ

ン・OSSをEC2上で活用

Amazon QuickSight [プレビュー]

• 専門家不要のBIサービス

• AWS内外のデータソースにアクセス

Page 36: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

36

分析

分析

データレイク

選択の例:全体図• データをAWSへ転送、S3で収集&保存、データレイクとする

• ホットデータ(直近データ)分析環境としてRedshift

• 全期間データ分析環境としてEMR

収集

可視化

Presto

/EMR

Redshift QuickSight

EXPAmazon S3

BI+EC2

Direct

Connect

プリプロセスEMR

全データ 変形済

Page 37: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

37

事例で見るビッグデータ処理

on AWS

Page 38: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

38

事例:Nasdaq様 Redshift/EMRを使い分け

• Redshift:300TB分の直近データ

• EMR+Presto+S3:全期間データ共通のSQLでアクセス

re:Invent 2015発表資料 BDT314 「A Big Data & Analytics App on Amazon EMR & Amazon Redshift 」より引用

Page 39: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

39

事例:Finra様 750億イベント/日の処理基盤• S3をデータ共有サービスとして定義し、EMRやRedshiftからアクセス

re:Invent 2015発表資料 BDT305 「Amazon EMR Deep Dive & Best Practices」より引用

Page 40: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

40

Finra様:DWHアプライアンスとHive/Tez+S3比較

• S3に置いたままのデータをHive/Tez on EMRでアクセス

• DWHアプライアンスとの比較で十分な速度を実現

re:Invent 2015発表資料 BDT305 「Amazon EMR Deep Dive & Best Practices」より引用

Page 41: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

41

事例:スマートニュース様マネージド・サービスを中心とした技術選択

http://www.slideshare.net/smartnews/20160127-building-a-sustainable-data-platform-on-aws より引用

Page 42: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

42

スマートニュース様(Batch~Serving~Output部分)

• S3に入った生データをEMRでETL処理

• レポート:データはRDS→BIツール

• 広範囲分析:RC File形式でS3に格納し、Presto→BIツール

Page 43: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

43

App

Server

アプリケーション

Web

Server

トランザクショナル・データ

ロギングデバイス

コレクター

AndroidiOS

KinesisProducer

ファイルデータ

ストリームデータ

S3

RDS

DynamoDB

AmazonRedshift

KinesisStream

Lambda

Pig

Hive

KinesisConsumer

Am

azo

n E

last

ic M

ap

Red

uce

AWSIoT

収集 分析 可視化

QuickSight

IoTDevice

保存

EC2

分析SW

Page 44: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

44

まとめ:変化を織り込んだビッグデータ処理基盤

#1. 全てを叶える万能ツールは存在しない

• 適切な技術は変わっていく

#2. データはオリジナルを残す

• 活用方法は将来的に変わる

#3. スケールアウトで解決する

• 対象データはビジネスによって変わる

Page 45: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

45

AWS Black Belt Online Seminarのご案内

AWSJ の Tech メンバーがAWSに関する様々な事を日本語で紹介・解説する無料のオンラインセミナー

AWSについてもっと勉強したい方にオススメ!

AWS イベント 検索

Page 46: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

46

補足資料:可用性

Page 47: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

47

ノード単体障害への対応

• ノード単体の障害への対応はサービスの機能で対応可能

• Redshift:ノード障害の発見、新ノードでの復帰がビルトイン

• EMR:Hadoopの仕組みの中でのジョブリトライ

リスタート

大量のリソース

Page 48: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

48AZ #2

システム全体の可用性はマルチAZで担保する

• どこまで可用性が必要なのか要検討

• システム全体の可用性はマルチAZで担保するのが基本

• S3は自動的に3箇所以上のDCにデータをコピー

AZ #1

Page 49: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

49

EMR+マルチAZ環境

EMRFSでS3にデータを維持しているため、別AZで処理の引き継ぎが可能

ジョブごとに別のAZにクラスターを起動することも可能

AZ #2AZ #1

S3

EMRFS

Page 50: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

50

Redshift+マルチAZ環境

案)2つのRedshiftクラスター

①:1年分データ

HDDでバイト単位のコスト重視

②:超ホットデータ(1ヶ月)

SSDで速度重視、サイズを小さく

メリット

②を小さく、コスト最適化

メンテナンスウィンドウを別に設定

最悪でも直近データにアクセス可能

その間にリカバリ

AZ #2AZ #1

S3

HDD

1ヶ月分のデータ

1年間分のデータ

① ②

Page 51: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

51

本資料では2016年6月3日時点のサービス内容および価格についてご説明しています。最新の情報はAWS公式ウェブサイト(http://aws.amazon.com)にてご確認ください。

資料作成には十分注意しておりますが、資料内の価格とAWS公式ウェブサイト記載の価格に相違があった場合、AWS公式ウェブサイトの価格を優先とさせていただきます。

内容についての注意点

AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to change in accordance with the AWS Customer Agreement available at http://aws.amazon.com/agreement/. Any pricing information included in this document is provided only as an estimate of usage charges for AWS services based on certain information that you have provided. Monthly charges will be based on your actual use of AWS services, and may vary from the estimates provided.

価格は税抜表記となっています。日本居住者のお客様が各サービスを使用する場合、別途消費税をご請求させていただきます。

Page 52: クラウド上に効率的な ビッグデータ処理基盤を構築するには? · 保存 分析 Amazon Glacier Amazon S3 Amazon DynamoDB Amazon RDS/ Aurora AWSマネージドサービス:ビッグデータ

52