Transcript
Page 1: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

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

Michalis Petropoulos (ミカリス ピタポリス) Senior Software Development Manager

Amazon Redshift

July 5, 2017

Introduction to

Amazon Redshift Spectrum

Page 2: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

What is Big Data?

取り扱うデータセットが非常に膨大かつ多様なフォーマットに

なっているのであれば、「Innovating」 を始めることが必要

どのように

「収集」「蓄積」「処理・加工」「分析」「共有」

を行うのか?

Page 3: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

Generate

Collect & Store

Analyze

Collaborate & Act

AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成されているケースもあります

ビッグデータの取り扱いにおける課題

Page 4: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

Generate

Collect & Store

Analyze

Collaborate & Act

AWSご利用企業では 1日あたり1ペタバイト以上のデータが生成されているケースもあります

Amazon S3にあらゆるデータを収集&蓄積

Amazon S3に ペタバイト、

エクサバイト級の データを蓄積

Page 5: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

Generate

Collect & Store

Analyze

Collaborate & Act

ここの制約が 大きいと

分析できない データが増加 していく

収集&蓄積後、どのようにそのデータを分析するのか?

AWSご利用企業では 1日あたり1ペタバイト以上のデータが生成されているケースもあります

Amazon S3に ペタバイト、

エクサバイト級の データを蓄積

Page 6: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

1990 2000 2010 2020

Generated DataAvailable for Analysis

Sources: Gartner: User Survey Analysis: Key Trends Shaping the Future of Data Center Infrastructure Through 2011 IDC: Worldwide Business Analytics Software 2012–2016 Forecast and 2011 Vendor Shares

Data Volume

Year

現在の課題“ダークデータ”問題 – 生成された多くのデータが分析されない

データ量

生成されたデータ

分析可能なデータ

Page 7: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

あえて “OR” で比較すると

Amazon EMR

S3へのダイレクトアクセス

数千ノードへのスケールアウト

オープンなデータフォーマット

ポピュラーなフレームワーク

思い付きとコードで何でも可能

Amazon Redshift

ローカルディスクに対する超高速な パフォーマンス

洗練されたクエリー最適化機能

ジョインしやすいデータフォーマット

標準SQLによるクエリー

データウェアハウス用途に最適化

Page 8: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

だけど、自分で選びたくない。

自分が選ばなきゃいけないなんておかしい。

全部できるものが欲しい!

Page 9: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

私が欲しいのは、

洗練されたクエリー最適化機能 and スケールアウトな処理

超高速なパフォーマンス and オープンフォーマットのサポート

ローカルディスクに対するスループット and S3のスケール

Page 10: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

全部欲しい!

ひとつのデータ処理エンジンから、

すべてのデータ処理エンジンから自分のデータへ アクセスしたい

今も未来も

Page 11: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

Amazon Redshift Spectrum

Page 12: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

Amazon Redshift Spectrum 大規模スケールアウトの処理層を使い、S3上のデータに対してSQLを実行

スケールアウトで

エクサバイト級に対応

伸縮自在 & 高可用性 オンデマンド

クエリ毎の費用

大規模な同時検索の並列実行

複数クラスターから

同じデータへアクセス

ETL処理は不要

データを移動させずにクエリ

フルマネージド

標準SQLをサポート

S3 SQL

Page 13: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

クエリーを投入 SELECT COUNT(*) FROM S3.EXT_TABLE GROUP BY…

Life of a query

Amazon Redshift

JDBC/ODBC

...

1 2 3 4 N

Amazon S3 Exabyte-scale object storage

Data Catalog Apache Hive Metastore

1

Page 14: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

クエリーはリーダーノード上でオプティマイズされ、コンパイル。どのデータをローカルストレージから得て、どれをSpectrum層にリクエストするかを決定

Life of a query

Amazon Redshift

JDBC/ODBC

...

1 2 3 4 N

Amazon S3 Exabyte-scale object storage

Data Catalog Apache Hive Metastore

2

Page 15: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

クエリープランを 全コンピュートノードに送信

Life of a query

Amazon Redshift

JDBC/ODBC

...

1 2 3 4 N

Amazon S3 Exabyte-scale object storage

Data Catalog Apache Hive Metastore

3

Page 16: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

コンピュートノードはData Catalogからパーティション 情報を取得 (Dynamically prune partitions)

Life of a query

Amazon Redshift

JDBC/ODBC

...

1 2 3 4 N

Amazon S3 Exabyte-scale object storage

Data Catalog Apache Hive Metastore

4

Page 17: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

各コンピュートノードは、Amazon Redshift Spectrum層に対して複数のリクエストを送信

Life of a query

Amazon Redshift

JDBC/ODBC

...

1 2 3 4 N

Amazon S3 Exabyte-scale object storage

Data Catalog Apache Hive Metastore

5

Page 18: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

Amazon Redshift Spectrum層のノードがS3のデータをスキャン

Life of a query

Amazon Redshift

JDBC/ODBC

...

1 2 3 4 N

Amazon S3 Exabyte-scale object storage

Data Catalog Apache Hive Metastore

6

Page 19: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

7

Amazon Redshift Spectrum層でデータの射影、フィルタ、ジョイン、 アグリゲーションを実行

Life of a query

Amazon Redshift

JDBC/ODBC

...

1 2 3 4 N

Amazon S3 Exabyte-scale object storage

Data Catalog Apache Hive Metastore

Page 20: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

Redshiftクラスター内で、ローカルディスク上とのジョインや最終的なアグリゲーションが実行される

Life of a query

Amazon Redshift

JDBC/ODBC

...

1 2 3 4 N

Amazon S3 Exabyte-scale object storage

Data Catalog Apache Hive Metastore

8

Page 21: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

結果がクライアントに戻される

Life of a query

Amazon Redshift

JDBC/ODBC

...

1 2 3 4 N

Amazon S3 Exabyte-scale object storage

Data Catalog Apache Hive Metastore

9

Page 22: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

S3上のエクサバイト級のデータに対して 分析クエリーを投入

Page 23: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

分析クエリーを作ってみよう - #1

著者は彼女の人気シリーズで8冊目の書籍をリリースしています。 シアトル地域のために何冊注文すればよいでしょうか? 最初の数日間での販売実績は?

彼女の以前の書籍についてみてみましょう。

1 Table

2 Filters

SELECT P.ASIN, P.TITLE FROM products P WHERE P.TITLE LIKE ‘%POTTER%’ AND P.AUTHOR = ‘J. K. Rowling’

Page 24: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

分析クエリーを作ってみよう - #2

著者は彼女の人気シリーズで8冊目の本をリリースしています。 シアトル地域のために何個注文すればよいでしょうか? 最初の数日間での販売実績は?

このシリーズでこれまでに書かれた書籍の売上を計算し、上位20の値を取得します

2 Tables (1 S3, 1 local)

2 Filters

1 Join

2 Group By columns

1 Order By

1 Limit

1 Aggregation

SELECT P.ASIN, P.TITLE, SUM(D.QUANTITY * D.OUR_PRICE) AS SALES_sum FROM s3.d_customer_order_item_details D, products P WHERE D.ASIN = P.ASIN AND P.TITLE LIKE '%Potter%' AND P.AUTHOR = 'J. K. Rowling' GROUP BY P.ASIN, P.TITLE ORDER BY SALES_sum DESC LIMIT 20;

Page 25: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

分析クエリーを作ってみよう - #3

著者は彼女の人気シリーズで8冊目の本をリリースしています。 シアトル地域のために何個注文すればよいでしょうか? 最初の数日間での販売実績は?

このシリーズでこれまでに書かれた書籍の売上を計算し、初版の販売実績に関して、最初の3日間における上位20の値を取得します

3 Tables (1 S3, 2 local)

5 Filters

2 Joins

3 Group By columns

1 Order By

1 Limit

1 Aggregation

1 Function

2 Casts

SELECT P.ASIN, P.TITLE, P.RELEASE_DATE, SUM(D.QUANTITY * D.OUR_PRICE) AS SALES_sum FROM s3.d_customer_order_item_details D, asin_attributes A, products P WHERE D.ASIN = P.ASIN AND P.ASIN = A.ASIN AND A.EDITION LIKE '%FIRST%' AND P.TITLE LIKE '%Potter%' AND P.AUTHOR = 'J. K. Rowling' AND D.ORDER_DAY :: DATE >= P.RELEASE_DATE AND D.ORDER_DAY :: DATE < dateadd(day, 3, P.RELEASE_DATE) GROUP BY P.ASIN, P.TITLE, P.RELEASE_DATE ORDER BY SALES_sum DESC LIMIT 20;

Page 26: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

分析クエリーを作ってみよう - #4

著者は彼女の人気シリーズで8冊目の本をリリースしています。 シアトル地域のために何個注文すればよいでしょうか? 最初の数日間での販売実績は?

このシリーズでこれまでに書かれた書籍の売上を計算し、米国ワシントン州シアトル市における初版の販売実績に関して、最初の3日間における上位20の値を取得します

4 Tables (1 S3, 3 local)

8 Filters

3 Joins

4 Group By columns

1 Order By

1 Limit

1 Aggregation

1 Function

2 Casts

SELECT P.ASIN, P.TITLE, R.POSTAL_CODE, P.RELEASE_DATE, SUM(D.QUANTITY * D.OUR_PRICE) AS SALES_sum FROM s3.d_customer_order_item_details D, asin_attributes A, products P, regions R WHERE D.ASIN = P.ASIN AND P.ASIN = A.ASIN AND D.REGION_ID = R.REGION_ID AND A.EDITION LIKE '%FIRST%' AND P.TITLE LIKE '%Potter%' AND P.AUTHOR = 'J. K. Rowling' AND R.COUNTRY_CODE = ‘US’ AND R.CITY = ‘Seattle’ AND R.STATE = ‘WA’ AND D.ORDER_DAY :: DATE >= P.RELEASE_DATE AND D.ORDER_DAY :: DATE < dateadd(day, 3, P.RELEASE_DATE) GROUP BY P.ASIN, P.TITLE, R.POSTAL_CODE, P.RELEASE_DATE ORDER BY SALES_sum DESC LIMIT 20;

Page 27: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

S3上のエクサバイト級のデータに対して分析クエリーを投入

日次カスタマーアイテムオーダー詳細レコード: 約140TB/日(過去20年間分)

S3上の15,000のパーティション・1億9,000万ファイル(1パーティション:1日あたりの米国およびその他の地域)

処理されるデータの10億倍規模の削減が必要

1000ノードのHiveクラスタを使用してこのクエリを実行すると、5年以上かかる*

• Compression………………………………5X • Columnar file format…………………..10X • Scanning with 2500 nodes………..2500X • Static partition elimination……………..2X • Dynamic partition elimination........350X • Redshift’s query optimizer……………40X

------------------------------------------------------------- Total reduction……………………...3.5B X

* 20ノードのHiveクラスタ/1.4TBを使用して試算

(リニアにスケールと想定) * クエリは20ノード×dc1.8xlargeのAmazon

Redshiftクラスタを使用 * 実際の販売データではなく、Amazon Retailで使

用されるデータフォーマットに基づいてこのデモ用に生成

Page 28: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

Amazon Redshift Spectrum:高速な処理

Amazon Redshiftのコストベースオプティマイザを活用

述部をプッシュダウンし、アグリゲーションやジョインを削減

Dynamic partition elimination により処理対象データを削減

S3データへのクエリ実行を自動的にパラレル化

Amazon Redshiftクラスター内での効率的なジョイン処理

Page 29: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

Amazon Redshift Spectrum:高い費用対効果

Amazon Redshiftクラスターの料金 + S3データの1TBスキャンあたり$5

各クエリは、1000台ものSpectrum層コンピュートノードのパワーを活用

課金対象となるスキャンデータ容量の削減、

およびクエリーパフォーマンスの向上が可能

パーティション

カラムナフォーマット

データの圧縮

Page 30: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

Amazon Redshift Spectrum:セキュア

End-to-end

data encryption

Alerts &

notifications

Virtual private cloud

Audit logging

Certifications &

compliance

SSEとAWS KMSを利用し、 S3上のデータを暗号化 KMS、AWS CloudHSM または オンプレミスのHSMを使用し、Amazon Redshift上のデータをすべて暗号化 ECDHEを使用した完全な先行暗号化でSSLを実行 Amazon Redshift リーダーノード、コンピュートノード、および スペクトラムノードはVPC内に配置、State保存は無し イベント特有の通知を電子メール、テキストメッセージ、またはAmazon SNSにて連携

すべてのAPIコールはAWS CloudTrailにて記録 すべてのSQLステートメントはAmazon Redshiftに記録

PCI/DSS FedRAMP

SOC1/2/3 HIPAA/BAA

Page 31: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

Amazon Redshift Spectrum:標準SQL

Redshift Spectrumは既存のSQLやBIアプリケーションとシームレスに連携

複雑なジョイン、ネストクエリー、ウィンドウ関数をサポート

任意のキーでS3上のパーティションをサポート

Date, Time and any other custom keys

e.g., Year, Month, Day, Hour

Page 32: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

外部スキーマの定義とテーブルの作成

Amazon Athenaデータカタログまたは独自のApache Hive Metastoreを使用して、Amazon Redshiftで外部スキーマを定義

CREATE EXTERNAL SCHEMA <schema_name>

右記にて外部データへクエリー <schema_name>.<table_name>

Athena、Hive MetastoreクライアントまたはAmazon Redshift CREATE EXTERNAL TABLE syntaxを使用して外部テーブルを登録

CREATE EXTERNAL TABLE <table_name>

[PARTITIONED BY <column_name, data_type, …>]

STORED AS file_format

LOCATION s3_location

[TABLE PROPERTIES property_name=property_value, …];

Page 33: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

Amazon Redshift Spectrum – サポート対象

ファイルフォーマット

• Parquet

• CSV

• Sequence

• RCFile

• Avro (coming soon)

• ORC (coming soon)

• RegEx/Grok (coming soon)

• soon))

圧縮

• Gzip

• Snappy

• Lzo (coming soon)

• Bz2

暗号化

• SSE with AES256

• SSE KMS with default key

カラム

• Numeric: bigint, int, smallint, float, double and decimal

• Char/varchar/string

• Timestamp

• Boolean

• DATE type can be used only as a partitioning key

テーブル

• Non-partitioned table (s3://mybucket/orders/..)

• Partitioned table (s3://mybucket/orders/date=YYYY-MM-DD/..)

Page 34: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

Amazon EMRを活用したParquetおよびORCへの変換

You can use Hive CREATE TABLE AS SELECT to convert data CREATE TABLE data_converted

STORED AS PARQUET

AS

SELECT col_1, col2, col3 FROM data_source

Or use Spark - 20 lines of Pyspark code, running on Amazon EMR

• 1TB of text data reduced to 130 GB in Parquet format with snappy compression

• Total cost of EMR job to do this: $5

https://github.com/awslabs/aws-big-data-blog/tree/master/aws-blog-spark-parquet-conversion

Page 35: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

エクサバイト級のデータが無い場合でも、Amazon Redshift Spectrumは便利?

データ容量は増え続けます

平均的にDWHおけるデータ量は5年ごとに10倍に増加

Amazon Redshiftをご利用のお客さまにおいては平均1年ごとに2倍の ペースで増加

Amazon Redshift Spectrumはデータ分析をよりシンプルにします

ETLパイプライン無くデータへアクセス可能

Amazon EMR、Athena、Redshiftを利用しているチーム間で、 同じデータレイク(データ)を活用可能

Amazon Redshift Spectrumにより、可用性および同時検索実行性が向上します

共通のデータに対して、複数のAmazon Redshiftクラスターがアクセス可能

厳しいSLAが求められるジョブをアドホッククエリーから隔離可能

Page 36: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

The Emerging Analytics Architecture

Athena Amazon Athena Interactive Query

AWS Glue ETL & Data Catalog

ストレージ

サーバーレス

コンピュート

データ

処理・加工

Amazon S3 Exabyte-scale Object Storage

Amazon Kinesis Firehose

Real-Time Data Streaming

Amazon EMR Managed Hadoop

Applications

AWS Lambda Trigger-based Code Execution

AWS Glue Data Catalog Hive-compatible Metastore

Amazon Redshift Spectrum Fast @ Exabyte scale

Amazon Redshift Petabyte-scale Data Warehousing

Page 37: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

20を超えるお客さまにAmazon Redshift Spectrumプレビューにご参加いただきフィードバックを頂きました!

Page 38: Introduction to Amazon Redshift Spectrum · Generate Collect & Store Analyze Collaborate & Act AWSご利用企業では 1日あたり1ペタバイト 以上のデータが生成され

Thank you!

Questions?


Recommended