Data Management Platform構築におけるRedshift徹底活用 in #TokyoWebmining 29th

Post on 31-May-2015

5.787 views 6 download

description

株式会社ALBERTがData Management Platform (DMP) 構築や データ分析の現場でどのようにAmazon Redshiftを活用しているかをお話します。 Redshiftのサービス概要や、実際に高い効果を出すために重要なこと・現場の運用ノウハウについても 赤裸々に解説します。

Transcript of Data Management Platform構築におけるRedshift徹底活用 in #TokyoWebmining 29th

Data Management Platform構築における Redshift 活用事例

inTokyo Webmining 29th

@iktakahiro2013-09-21

1

Agenda• 自己紹介(1分30秒)• DMP概略 (5分30秒)- Data Management Platform とは- ALBERTの考えるDMP構成要素- DMP構成例

• Redshift活用事例 (15分)- Amazon Redshift とは- Redshift 活用事例- Redshiftノウハウを赤裸々に

• スーパーデモタイム(時間調整)• まとめ (3分)

2

Agenda• 自己紹介(1分30秒)• DMP概略 (5分30秒)- Data Management Platform とは- ALBERTの考えるDMP構成要素- DMP構成例

• Redshift活用事例 (15分)- Amazon Redshift とは- Redshift 活用事例- Redshiftノウハウを赤裸々に

• スーパーデモタイム(時間調整) • まとめ (3分)

イマココ

3

自己紹介

•株式会社ALBERT•分析力をコアとする マーケティングソリューションカンパニー

•池内 孝啓 / システム開発部 部長•@iktakahiro

4

開発・分析環境

5

Java R Python VMS SPSS fluentd Javascript awk bash Mahout

Play_framework AngularJS JenkinsEC2 Redshift CloudFront MySQL MariaDB

PostgreSQL Redis Mercurial

#TokyoWebmining 13th-Mahout・大規模解析・ビジネス展開 祭り-

の2011年07月以来でした...

大変ご無沙汰しておりました

6

Agenda• 自己紹介(1分30秒)• DMP概略 (5分30秒)- Data Management Platform とは- ALBERTの考えるDMP構成要素- DMP構成例

• Redshift活用事例 (15分)- Amazon Redshift とは- Redshift 活用事例- Redshiftノウハウを赤裸々に

• スーパーデモタイム(時間調整)• まとめ (3分)

イマココ

7

DMP概略

8

Data Management Platform とは

•組織がデータを活用するための基盤•完全に整理体系化されているわけではないが、 - 広告DMP - プライベートDMP - 蓄積データ自体を商材とするDMPなどがある。

今回はプライベート・DMPにフォーカス9

プライベート・DMPビッグデータ データ分析

データサイエンティスト アドテクDWH データ統合 DSP

マーケティング トリプルメディアデータ活用

etc...

10

プライベート・DMPの要素

•データウェアハウス (DWH)•データマイニングエンジン•キャンペーンマネジメント•DSP(※広告主側広告効果支援システム)•ビジネスインテリジェンス(BI)

11

ALBERT x プライベート・DMP•2013年05月ニュースリリース「ALBERT、データマネジメントプラットフォーム構築サービスを提供~ペタバイト規模対応、超並列、カラムナ型(*1)のクラウドデータベース、Amazon RedshiftをDWHに活用~ http://www.albert2005.co.jp/release/archives/201305/28_110038.html

12

13

メールマーケティングにおけるDMP構成例

DWH

顧客マスタ

Web閲覧ログ

メール開封ログ

メール配信システム

最適なメール14

Web・メールマーケティングにおけるDMP構成例

DWH

顧客マスタ

Web購買ログ

メール経由購買ログ

メール配信システム

レコメンデーションエンジン

Webレコメンデーション

15

Agenda• 自己紹介(1分30秒)• DMP概略 (5分30秒)- Data Management Platform とは- ALBERTの考えるDMP構成要素- DMP構成例

• Redshift活用事例 (17分)- Amazon Redshift とは- Redshift 活用事例- Redshiftノウハウを赤裸々に

• スーパーデモタイム(時間調整)• まとめ (1分)

イマココ

16

Redshift活用事例

17

Amazon Redshift とは

•クラウドコンピューティングサービスであるAmazon Web Service(AWS)が提供するクラウド型データウェアハウス(DWH)

•2TB, 15GBメモリの最小構成で $900~•容量・性能のスケールアウトが可能

AmazonRedshift

18

Amazon Redshift とは

• 大規模ログ分析における Amazon Web Servicesの活用(第27回TokyoWebmining 講演資料) by Shintaro Takemura

http://www.slideshare.net/stakemura/20130622-tokyo-webminingpublic

AmazonRedshift

19

プライベート・DMPの要素

•データウェアハウス (DWH)•データマイニングエンジン•キャンペーンマネジメント•DSP(※広告主側広告効果支援システム)•ビジネスインテリジェンス(BI)

AmazonRedshift

20

AWS x DMP

Redshiftログデータマスタデータ

マルチチャネル展開

S3

Glacier

Web / メールDM / DSP

BI

効果測定データ

21

補足:

• ストレージサービス• 容量の実質無制限拡張• 堅牢性の担保

Amazon S3

Amazon S3

Amazon Glacier

AmazonGlacier

• データの閉架書庫的な• S3と連携できる

22

なぜRedshiftが有効か?

23

•多くは自社サービスのデータではなく、他社の- ECサイト行動ログ- POSデータ- マスタデータなど

ALBERTの取り扱うログの傾向

24

DB1 DB2 DB3 DB4

PCサイト顧客マスタ

カタログ顧客マスタ 商品マスタ 購買ログ

DB5

メール開封ログ

AmazonRedshift

統合DWH

25

•拡張できるシステムか?拡張時のコストは?•容量に限界はあるか?•バックアップは?• "用途はないが捨てるのは惜しいデータ"をどう扱うか...

ログデータの保持をどうするか問題

26

•データが増えたときのことは後で考える?•パーティショニングはどうする?•バックアップやアーカイブ化は?•パラメータ設定, チューニング etc...

データベース(DWH)の運用をどうするか問題2013

27

•初期投資のインパクト•計画が縮小、中止になった場合のリスク•導入しても、活用できるかどうか不安

DWHの初期投資をどうするか問題

28

•以上の問題が、自社ではなくクライアントの予算・意思決定と密接に関わっている。

29

•2TB, 15GBメモリの最小構成で $900~•容量・性能のスケールアウトが可能•やめたくなったらすぐ停止•カラム型データベース -> 集計処理や圧縮性能にすぐれる

そう、Redshiftならね

30

Redshift + S3 + Glacier

Amazon S3

UPLOAD

AmazonGlacier

AmazonRedshift

分析処理へCOPY

アーカイブS3:Lifecycle1day : Move to Glacier

(Redundancy Storage)

31

Redshiftノウハウを赤裸々に...

32

• SQLのナレッジがそのまま活かせる• Hiveの代替として考えてよいと思う...• PostgreSQL 8 +α 相当という感じ• 一部関数が非対応だったり、完全互換ではない点に注意が必要

基本編

33

• DISTKEY(値をもとにデータが分散配置される)、SORTKEYは重要

• パフォーマンスに特化した超非正規化は個人的にはおすすめしない => 運用コストがかかるので..

• S3との連携が前提。データのインポートとアウトプットはS3経由で行う。

設計編

34

• 圧縮関連についての話題には下記スライドをご覧ください。

設計編

Redshift Compression Encodings(圧縮アルゴリズム)についてもっと調べてみたhttp://www.slideshare.net/iktakahiro/redshift-compression-encodings

35

SQL

CREATE TABLE log ( adviertise_id CHAR(6) DISTKEY, -- 広告主ID log_data TIMESTAMP SORTKEY, -- 日時 request_uri VARCHAR(512), -- URI user_agent VARCHAR(512), -- ユーザーエージェント user_id VARCHAR(255), -- ユーザーID session_id VARCHAR(255), セッションID log_type CHAR(1), -- ログ種別 product_id VARCHAR(255) --商品ID );

COPY log FROM 'S3://hogeadreco/2013/07/16/' CREDENTIALS 'aws_access_key_id=hogehoge;aws_secret_access_key=hogehoge' DELIMITER '\t' TIMEFORMAT 'YYYY-MM-DD HH:MM:SS' GZIP;

36

• アプリケーション側からはPostgreSQLのつもりでいれば大体は使える。- Python + SQLAlchemy + pycycopg2

• COPYコマンドなど独自の構文もあるので必要に応じてクエリべた書きも。

• DBの開発ツールも接続OK- Navicatがおすすめ(有償だけど)

開発編

37

• ログデータ用のテーブルは実ログ相当のデータがないと適切な圧縮設計が行えないこともある=> 運用が始まったあとで調整する、くらいの 心構えが必要

• 全体的にナレッジはまだまだ足りない感。Connection周りではまったりもする

• ミニマム構成でもそこそこの性能が出る

運用編

38

• 意外に小出しで機能追加されている。マニュアルのhistory(※1)を追うのがおすすめ

• 全体的にナレッジは出尽くしていない感。Connection周りではまったりもする

• ブログ(※2)に少しづつ書いてます※1 http://docs.aws.amazon.com/redshift/latest/dg/doc-history.html

※2 http://librabuch.jp/tag/redshift/

ドキュメント

39

Agenda• 自己紹介(1分30秒)• DMP概略 (5分30秒)- Data Management Platform とは- ALBERTの考えるDMP構成要素- DMP構成例

• Redshift活用事例 (17分)- Amazon Redshift とは- Redshift 活用事例- もっと Redshift

• スーパーデモタイム(時間調整)• まとめ (1分)

イマココ

40

Agenda• 自己紹介(1分30秒)• DMP概略 (5分30秒)- Data Management Platform とは- ALBERTの考えるDMP構成要素- DMP構成例

• Redshift活用事例 (17分)- Amazon Redshift とは- Redshift 活用事例- もっと Redshift

• スーパーデモタイム(時間調整)• まとめ (1分) イマココ

41

まとめ

42

• プライベート・DMPは5つの要素で構成される• その中でも、ビッグデータ時代にはDWHの重要性が更に高まっている

• Amazon Redshiftを使うと低コストでDWHの構築と運用が行える

• 設計は引き続き重要。ナレッジはまだまだなのでみんなでシェアしよう

43

ご清聴ありがとうございました

44