トレジャーデータ株式会社について(for all data_enthusiast!!)

93
1 トレジャーデータ株式会社 2014/06/10 Takahiro Inoue (Chief Data Scien:st) [email protected]

Upload: takahiro-inoue

Post on 15-Jan-2015

6.257 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

1  

トレジャーデータ株式会社  2014/06/10  

Takahiro  Inoue  (Chief  Data  Scien:st)  taka@treasure-­‐data.com  

Page 2: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

2  

1.  Introduc:on  1)  会社概要  2)  製品概要  

2.  Data  Collec:on  3.  Data  Storage  4.  Data  Management  5.  Data  Processing  

1)  バッチクエリ  2)  アドホッククエリ(TQA)  

6.  Data  Mart  7.  Data  Visualiza:on  

1)  Metric  Insights  2)  Tableau  

アジェンダ

5.  Data    Processing  

7.  Data    Visualiza5on  

3.  Data    Storage  

2.  Data  Collec5on  

Data    Source  

6.  Data    Mart  

Page 3: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

3  

1.  Introduc:on  

Page 4: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

4  

1-­‐1.  Introduc:on  –  会社概要  

Page 5: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

Big  Dataの収集・保存・分析を一手に行う、業界初の

クラウドデータサービスを提供  •  すぐ利用可能なクラウドサービスとしての提供を行う  

•  シンプルな機能セット,手厚いサポート  

•  日米大手企業中心に、現在百数十社の企業顧客(メディア・広告、ゲーム、

自動車、小売等幅広い利用事例)

大手調査企業、メディアも注目  •  “Cool  Vendors  in  Big  Data”  2014  

(米 大手IT調査会社Gartnerが選定する世界4社中1社*)  

•  “Trend  SeSng  Products”    (Database  Trends  and  Applica:ons)  

•  “5  Hot  Big  Data  Startups”  (Enterprise  Apps  Today)  

*出典:ガートナー 「Cool  Vendors  in  Big  Data,  2014」 堀内秀明 他共著、2014年4月28日  ガートナーは、ガートナー・リサーチの発行物に掲載された特定のベンダー、製品またはサービスを推奨するものではありません。また、

高の評価を得たベンダーのみを選択するようテクノロジの利用者に助言するものではありません。ガートナー・リサーチの発行物は、ガートナー・リサーチの見解を表したものであり、事実を表現したものではありません。ガートナーは、明示または黙示を問わず、本リサーチの商品性や特定目的への適合性を含め、一切の保証を行うものではありません。  

5  

会社概要

   

芳川裕誠 –  CEO  Open  source  business  veteran  

太田一樹 –  CTO  Founder  of  world’s  largest  Hadoop  Group  

Jeff  Yuan  –  Director,  Engineering  LinkedIn,  MIT  /  Michale  Stonebraker  Lab  

Rich  Ghiossi  –  VP  Marke:ng  VP  Marke:ng,  ParAccel  and  HP  

主要投資家概要  

Bill  Tai  Charles  River  Ventures,  Twiderなどに投資  

まつもとゆきひろ  Ruby言語開発者  

James  Lindenbaum  Heroku創業者  

Sierra  Ventures  –  (Tim  Guleri)  企業向けソフト・データベース領域での有力VC  

2011年12月、米Mountain  Viewにて創業  •  従業員約50名(著名データベース技術者が多数所属)、

東京丸の内に日本支社

•  Yahoo!  Inc.創業者Jerry  Yang氏を含む有力投資家・VCより約800万米

ドルを資金調達済  

•  2012年後半に商用サービス提供開始

主要メンバー概要  

Jerry  Yang  Yahoo!  Inc.  創業者  

古橋貞之 –  Sofware  Engineer  MessagePack,  Fluentd開発者  

Page 6: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

6  

ガートナーの  “Cool  Vendor  in  Big  Data”  に選ばれました  

“Why Cool: トレジャーデータは、データの取得、保存、分析に対応するクラウド型ビッグデータソリューションをエンドツーエンドのマネージドサービスとして提供しています。 トレジャーデータのユニークな特徴の一つはデータ収集ソリューションです。”  !“Who should care: 大量のデータを管理するリソースやスキルが十分確保できない企業はこのベンダーからの提案を検討するとよいでしょう。”!

ガートナーは、ガートナー・リサーチの発行物に掲載された特定のベンダー、製品またはサービスを推奨するものではありません。また、最高の評価を得たベンダーのみを選択するよう テクノロジの利用者に助言するものではありません。ガートナー・リサーチの発行物は、ガートナー・リサーチの見解を表したものであり、事実を表現したものではありません。ガートナーは、明示または黙示を問わず、本リサーチの商品性や特定目的への適合性を含め、一切の保証を行うものではありません。  

Page 7: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

7  

エンジニアリングチーム

高い技術力で、 Fluentd/Hadoopの他にも様々なOSSへの貢献  

名称  

MessagePack   多言語シリアライズライブラリ  

Javassist   Javaバイトコード生成ライブラリ  

Huahin  Framework  

Hadoop  MapReduce向け  汎用ライブラリ  

D  Language   D言語  

ZeroMQ   Java版 ZeroMQ  の実装  (jeromq)  

Angular.JS   JavaScript  MVW  フレームワーク  

エンジニア自身がサポート業務も担当。  プロダクトへのPDCAサイクルの高速化を意識した体制。  

Page 8: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

8  

1-­‐2.  Introduc:on  –  製品概要  

Page 9: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

9  

Treasure  Data  Service  とは

ビッグデータの収集・保存・分析をワンストップで提供する、  業界初のデータマネジメントサービス(DMS)  

“データ解析の世界をシンプルにしたい”  

収集 保存 分析

Page 10: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

KPI  

データ可視化・共有  

分析ツール連携  

他製品連携  

RDBMS,  Google  Docs,  AWS  S3,  FTP  Server,  etc.  

Metric  Insights,  etc.    

Tableau,  Dr.Sum,  Power  BI,  Excel,  etc.    

10  

Treasure  Data  Service  

Result  Output  クエリ結果自動書込  

データ収集   データ分析  データ保管  

収集・保存・分析をワンストップに、柔軟なインターフェイスで提供。  

データ集計  SQL,  Pig  

ストレージ  Flexible,  Scalable,  Columnar  

Storage  

バッチ型  分析  

アドホック型  分析  

分析エンジン  Hadoop,  Treasure  Query  Accelerator  

データ抽出  REST  API  

ODBC/JDBC  (SQL,  Pig)  

Webログ  

Appログ  

センサー  

CRM  

ERP  

RDBMS  

TD  Toolbelt  

並列バルク    アップローダー  

Treasure  Agent  

ストリーミング    ログコレクター  

POS  

Page 11: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

11  

サービスポジショニング

自社 データ

センター

構造化データソース (取引履歴、会計、個人情報、etc)

非構造化、新しいデータ・ソース (Web、センサー、デバイス、etc)

マーケティングクラウド (DMP)

アプリケーションログのレポーティング、分析

センサーデータ/M2M Internet of Things

クラウド

自社データセンターで  保存・解析するには  

コスト・人材面でマッチしない  

セキュリティ/法律上  クラウドにデータが  

上げられない事が多い  

補完関係  

Page 12: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

12  

実装の早さ、本質的な作業に集中

•  既存のデータウェアハウスの実装プロセス

•  Treasure Dataのクラウドサービス

Data Collection ETL Data Warehouse BI/Reporting

6ヶ月 ~ 1年, 5-10億円+maintenance, ベンダーロックイン

Data Collection ETL Data Warehouse BI/Reporting

2 – 3週間

月額課金制での支払い

既存のBI/Reportingが利用可能

Page 13: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

13  

Q. データサイズが100億件/100GB以上?

Q. スキーマ/集計軸が月に一回以上変わる?

No

Q. スキーマ/集計軸が月に一回以上変わる?

Q. 集計データをクラウドに置ける?

Q. 集計データをクラウドに置ける?

Q. 集計データをクラウドに置ける?

Q. 集計データをクラウドに置ける?

Redshif  

No

Yes No

No

クラウド環境   ローカル環境

オンプレミス

Quick  Guide

Page 14: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

14  

2.  Data  Collec:on  

Page 15: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

KPI  

データ可視化・共有  

分析ツール連携  

他製品連携  

RDBMS,  Google  Docs,  AWS  S3,  FTP  Server,  etc.  

Metric  Insights,  etc.    

Tableau,  Dr.Sum,  Power  BI,  Excel,  etc.    

15  

Data  Collec:on  

Result  Output  クエリ結果自動書込  

データ収集   データ分析  データ保管  

データ集計  SQL,  Pig  

ストレージ  Flexible,  Scalable,  Columnar  

Storage  

バッチ型  分析  

アドホック型  分析  

分析エンジン  Hadoop,  Treasure  Query  Accelerator  

データ抽出  REST  API  

ODBC/JDBC  (SQL,  Pig)  

Webログ  

Appログ  

センサー  

CRM  

ERP  

RDBMS  

TD  Toolbelt  

並列バルク    アップローダー  

Treasure  Agent  

ストリーミング    ログコレクター  

POS  Focus!

Page 16: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

16  

データソース  

多い  少ない   (データ量)  

クローズ  

オープン  

(データの  機密性)  

個人情報  

財務・会計情報  

オープンデータ  

センサーデータ  アクセスログ  アプリログ  システムログ  

POSデータ  

(RDB内)  トランザクションデータ  

デバイスデータ  

クラウドOKなデータソースに対応  

ccv  ユーザー行動解析  

M2M,  Internet  of  Things  

マーケティングクラウド(DMP)  

Page 17: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

17  

Treasure Data Cloud

新しいデータソース 従来のデータソース

•  「新しいデータソース」 = 各自のアプリケーション

から Treasure Library を通して取得するデータ。 •  例:Heroku アプリケーションログ(Heroku

Plugin)・ソーシャルゲームログ・モバイルデバイ

スログ・センサーデータ・etc…。 •  これらのデータはデータ量が変化しやすく,また

既に取得項目が構造化されている。

•  「従来のデータソース」 = 既に過去に蓄積され,

データベースなどに保存されているもの。 •  例:POSデータ,Site CatalystやMedia Mindなど

の分析ツールが裏で保持しているローデータ。 •  試験プロセスとして過去の特定の期間のデータ

をアップロードする場合。 •  これらのデータは Bulk Import ツールを用いた

並列インポートで効率良く一気にクラウドスト

レージに送る。

2種類のインポートメソッド

Webログ  

Appログ  

センサー  

Treasure  Agent  

ストリーミング    ログコレクター  

CRM  

ERP  

RDBMS  

TD  Toolbelt  

並列バルク    アップローダー  

POS  

Page 18: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

18  

並列バルクアップローダー

Treasure Data

Cloud

RDBMS   App  SaaS  

FTP  

CSV,  TSV,  JSON,  MessagePack,  Apache,  regex,  MySQL,  FTP  

 

Bulk  Loader    

Prepare  >  Upload  >  Perform  >  Commit  

Page 19: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

19  

新しいデータ:  “Event  Based  Logs”

#  Applica:on  Ruby  Code  ...  #  Post  event  to  Treasure  Data  TD.event.post(’login',    {        :uid  =>  123,            :device  =>  ’smart  phone’            ::me  =>  138959673  })  ...  TD.event.post(’pay',    {        :uid  =>  123,            :name  =>  ’ItemA’,            :sub_category  =>  ’a’,            :category  =>  A,            :count  =>  2,            :price  =>  300,            ::me  =>  138959673      })  ...  TD.event.post(’invite',    {        :uid  =>  123,            :invited_uid  =>  456,            :campaign_name  =>  ’invite_event_2’,            ::me  =>  138959673  })  

For  Social  Game  Analy:cs  #  HTML  Source  ...  #  Post  event  to  Treasure  Data  TD.event.post(‘login',    {    ‘uid’  :  get_session(),          ‘:me’  :  138959673  })  ...  TD.event.post(’conversion',    {    ‘uid’  :  123,        ‘conversion_id’  :  ’conv_1’,        ‘referer’  :  ’www.top.html’,        ‘:me’  :  138959673      })  ...  TD.event.post(’add_cart',    {    ‘uid’  :  123,        ‘product_name’  :  ‘book1’,        ‘cart_id’  :  1,        ‘:me’  :  138959673  })  ...  TD.event.post(’subscribe',    {    ‘uid’  :  123,        ‘mail’  :  ‘[email protected]’,        ‘plan’  :  ‘$300’,        ‘:me’  :  138959673      })  

For  Web  Analy:cs  

Treasure  Data  Library  Java,  Ruby,  PHP,  Perl,  Python,  Scala,  Node.js    ,  JS  Tag  Library  

Page 20: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

20  

#  Java  Code  ...  #  Post  event  to  Treasure  Data  TD.event.post(’igni:on_on',        {    ‘uid’  :  123,            ‘longitude’  :  135,            ‘la:tude’  :  36,            ‘odometer’  :  ‘100km’,            ‘room_temperature’:  24            ‘last_igini:on_off_:me’  :  138959000,              ‘:me’  :  138959673          })  ...  TD.event.post(’airbag_on',        {    ‘uid’  :  123,            ‘longitude’  :  135,            ‘la:tude’  :  36,            ‘:me’  :  138959673          })  ...  TD.event.post(’pedal_accelerator',        {    ‘uid’  :  123,            ‘longitude’  :  135,            ‘la:tude’  :  36,            ‘speed’  :  ‘70km/h’,            ‘accelera:on’  :  ’1m/s^2’,            ‘:me’  :  138959673      })  

For  Telema:cs  Analy:cs  #  HTML  Source  ...  #  Post  event  to  Treasure  Data  TD.event.post(‘pay',        {    ‘uid’  :  get_session(),            ‘price’  :  1000,            ‘genka’  :  800,            ‘area’  :  ‘Tokyo’,              ‘:me’  :  138959673      })  ...  TD.event.post(’post_comment',        {    ‘uid’  :  123,            ‘item_name’  :  ’itemA’,            ‘ra:ng’  :  4,            ‘comment’  :  ‘使いやすくてTD 高です!’,            ‘:me’  :  138959673          })  ...  TD.event.post(’visit_from_affiliate',        {    ‘url’  :  ‘www.hoge.com’,            ‘affliate_url’  :  ‘www.sale.com’,            ‘session_id’  :  get_session(),            ‘:me’  :  138959673      })  …  

For  EC  Analy:cs  

Treasure  Data  Library  Java,  Ruby,  PHP,  Perl,  Python,  Scala,  Node.js    ,  JS  Tag  Library  

新しいデータ:  “Event  Based  Logs”

Page 21: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

21  

ストリーミングログコレクター:Treasure  Agent

Treasure Data Cloud

# Application Code ... ... # Post event to Treasure Data TD.event.post('access', {:uid=>123}) ... ...

Treasure  Data  Library  Java,  Ruby,  PHP,  Perl,  Python,  Scala,  Node.js      

Applica:on  Server  

Treasure  Agent  (local)  

•  Automa:c  Micro-­‐batching  •  Local  buffering  Fall-­‐back  •  Network  Tolerance  

Page 22: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

22  

Project

•   Treasure  Data  のデータコレクタ部分は、オープンソース化  –  2013年、国内外で広く浸透  –  世界中でデータを解析可能な形で収集するのに一役買っている  

"We utilize Fluentd to collect a very large amount of logs. The logs are written into Hadoop HDFS clusters, and are also used to analyze various service statuses in realtime. We also use many plugins from rubygems.org to further enhance this mechanism." Fluentd is very similar to Apache Flume or Facebook’s Scribe [but] it’s easier to install and maintain and has better documentation and support than either Flume or Scribe”

"We use Fluentd to collect massive data logs for our platforms. Having developed a system based on Fluentd, we are now effectively monitoring and analyzing our services in real-time. We are very much satisfied with its flexibility, especially how easy it is to use in tandem with other systems."

Fluentd  オープンソースプロジェクトのユーザー例  

Page 23: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

23  

Before  Fluentd:  M  x  N  通りのデータ収集・活用方法

Page 24: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

24  

Afer  Fluentd:  M  +  N  通りに経路を集約して簡素化

Nagios

MongoDB

Hadoop

Alerting

Amazon S3

Analysis

Archiving

MySQL

Apache

Frontend

Access logs

syslogd

App logs

System logs

Backend

Databasesfilter / buffer / routing

Page 25: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

25  

まとめ

ストリーミングログコレクター 並列バルクアップローダー

•  ほぼリアルタイムにログの収集が可能。 •  あらゆるデータソースを接続口として持

つ(Fluentd In-Plugin)。 •  あらゆるアウトプット形式に対応

(Fluentd Out-Plugin)。 •  定常的にネットワーク帯域を使える。 •  ネットワークの遅延などにより,多少の

データロストがある場合がある。

•  数十GB〜数TBの大規模データに対応。 •  並列処理で高速にアップロード。 •  データのロストが無く安心。

•  これから取得するデータはストリーミング •  既に蓄積している数年分のデータは並列バルクローダー

Page 26: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

26  

3.  Data  Storage  

Page 27: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

KPI  

データ可視化・共有  

分析ツール連携  

他製品連携  

RDBMS,  Google  Docs,  AWS  S3,  FTP  Server,  etc.  

Metric  Insights,  etc.    

Tableau,  Dr.Sum,  Power  BI,  Excel,  etc.    

27  

Data  Storage  

Result  Output  クエリ結果自動書込  

データ収集   データ分析  データ保管  

データ集計  SQL,  Pig  

ストレージ  Flexible,  Scalable,  Columnar  

Storage  

バッチ型  分析  

アドホック型  分析  

分析エンジン  Hadoop,  Treasure  Query  Accelerator  

データ抽出  REST  API  

ODBC/JDBC  (SQL,  Pig)  

Webログ  

Appログ  

センサー  

CRM  

ERP  

RDBMS  

TD  Toolbelt  

並列バルク    アップローダー  

Treasure  Agent  

ストリーミング    ログコレクター  

POS  

Focus!

Page 28: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

28  

Treasure  Cloud  Storage

5me   v  

1384160400   {“ip”:”135.52.211.23”,  “code”:0}  

1384162200   {“ip”:”45.25.38.156”,  “code”:-­‐1,  “url”:”www.treasure.com”}  

1384164000   {“ip”:”97.12.76.55”,  “code”:99,”length”:  2}  

Default  (schema-­‐less)  

Schema  applied   ~30%  Faster  

•  “スキーマレス”  な  JSON形式で保存  –  変更されたスキーマも既存の

テーブルへの保存が可能。  •  列指向データベースを採用。  •  スキーマを定義する事でパフォーマ

ンスが大幅に上昇。  •  特に時間をキーにしたフィルタリン

グに強み。  •  「容量を気にすることなく,あらゆる

データをとにかく蓄積していく,必要なことものはそれから考えましょう」  

*スキーマを定義することでパフォーマンスが 大幅にアップ。

5me   ip:  string   code:  int   url:  string   Length:  int  

1384160400   135.52.211.23   0   null   null  

1384162200   45.25.38.156   -­‐1   “www.”   null  

1384164000   97.12.76.55   99   null   2  

Page 29: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

29  

Treasure  Management  Console  によるデータ管理

Database   Table  

指定したDB名,Table名に対してHive (SQL-Like) Query を実行することによりデータの抽出および集計がストレージに対してダイレクトに行える。

New  Query  

Page 30: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

30  

Try  &  Error  Itera:on:中間データをどこに保持するか

自社 データ

センター

ローデータ,クラウドに上げられないデータ

ローデータ,フィルタ済データ, 分析用中間データ,tempデータ

ローデータ

- フィルタ済データ

- 分析用中間データ - データキューブ

クラウド

様々な  Try  And  Error  の末に保存対象となったナレッジデータのみローカルに保存することでコスト減。    

- テンポラリデータ 中間データ群を自社データセンターに保存するだけで大幅なコスト。  

Try  &  Error  Itera:on

Page 31: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

31  

データソースA データソースB

データソースC データソースD

データ連携

データ連携によってより高度で多様な分析

が可能になる。

データ横断分析

Page 32: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

32  

データ横断分析例:中古車相場データの連携

Car Sensor : B to C の中古車相場

業者間オークション : B to B の中古車相場

個人間オークション : C to C の中古車相場

新車カタログ : 新車価格,車両情報

レビューサイト : 車両レビュー

業者が卸してから販売 する際のマージンに注目

新車からの値落ち率と年式等との関係に注目

業者の販売値と個人間の販売値との乖離 = (整備・保証料) に注目

レビューの高さと中古車相場の関係に注目

Page 33: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

33  

データ横断分析例:複数のオンラインゲームを横断

複数ゲームのKPIを一覧できるダッシュボード:Metric  Insights

Page 34: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

34  

The  Internet  of  Things(IoT)

ログデータ  

センサーデータ  

The  Internet    of  Things  “モノのインターネット”  

Page 35: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

35  

テレマティクスとは

•   Telecommunica:on(通信)  +  Informa:cs(情報科学)  –  自動車などの移動体に通信システムを組み合わせて、リアルタイム

に情報サービスを提供すること  

•  モダン・テレマティクスデータの特徴  –  車両のID(車載機)と、運転者のID(スマートフォン)を別々に管理す

ることができるため、どの車に誰が乗ったかを自動的に判別可能。

–  拡張性:車載器だけでなく,スマートフォンからも詳細なデータ取得

が可能に。モニターやカメラ、加速度センサーなど、スマートフォン

に搭載されているデバイスであれば、ハードの追加無く拡張可能。  

Page 36: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

並列アップロード  Bulk Import

ストリーミングアップロード"Treasure Agent

36  

Telema:cs  Data  Analysis  自動車保険:  -­‐  走行距離連動型保険  -­‐  運転の雑さを指標化  

電気スタンド需要  -­‐  駐車が多い施設の特定  

電気自動車需要  -­‐  一回の走行距離・距離が    少ないエリアの特定  

渋滞予測システム  -­‐  車速や単位当たりの移動距離          から渋滞エリアを特定  

-­‐  緯度・経度  -­‐  アクセルON/OFF  -­‐  イグニッションON/OFF  -­‐  車速・燃費  

Page 37: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

37  

4.  Data  Management  

Page 38: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

KPI  

データ可視化・共有  

分析ツール連携  

他製品連携  

RDBMS,  Google  Docs,  AWS  S3,  FTP  Server,  etc.  

Metric  Insights,  etc.    

Tableau,  Dr.Sum,  Power  BI,  Excel,  etc.    

38  

Data  Management  

Result  Output  クエリ結果自動書込  

データ収集   データ分析  データ保管  

データ集計  SQL,  Pig  

ストレージ  Flexible,  Scalable,  Columnar  

Storage  

バッチ型  分析  

アドホック型  分析  

分析エンジン  Hadoop,  Treasure  Query  Accelerator  

データ抽出  REST  API  

ODBC/JDBC  (SQL,  Pig)  

Webログ  

Appログ  

センサー  

CRM  

ERP  

RDBMS  

TD  Toolbelt  

並列バルク    アップローダー  

Treasure  Agent  

ストリーミング    ログコレクター  

POS  

Focus!

Page 39: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

39  

2つのデータマネジメントツール

Treasure Command Line Tools ( for Engineer )

Treasure  Management  Console  (  for  Analyst,  Decision  Maker  )

•  豊富なコマンド群を通じて詳細な情報を得

ることが可能。

•  シェルスクリプトなどと合わせて自動化が

できる。

•  UIでなくコマンドラインでないと落ち着かな

いエンジニア向けに。

•  Web UI からデータベースおよびテーブル

の状況を把握できる。

•  各テーブル内のデータサンプルを素早く

参照できる。

•  クエリの記述・実行もここから可能。

•  さらに Treasure Viewer によってすぐにグ

ラフ化することが可能。

Management  Console  の登場によって,より多くのアナリスト・意思決定者自身がCloud  Databaseに触れる機会が増える。  

Page 40: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

40  

Treasure  Command  Line  Tools

Page 41: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

41  

Treasure  Management  Console

Treasure Data Serviceにサインアップした全てのユーザーにWeb上のマネジメントコンソールを提供。ここからあらゆるデータ操作が可能に。

Page 42: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

42  

データインポート

Page 43: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

43  

Page 44: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

44  

データベース一覧

データベースの一覧。データベース名,作成日,更新日の一覧。各データベース名をクリックすることでテーブル一覧へ。

Page 45: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

45  

テーブル一覧

特定のデータベースのテーブル一覧。レコード数,圧縮後のデータサイズ,更新日,作成日。各テーブル名をクリックすることでレコードの取得が可能。

Page 46: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

46  

レコード参照

特定のテーブルに格納されているレコードを参照できる。

Page 47: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

47  

ジョブ管理

現在実行されている・終了したジョブの一覧。クエリ内容やStatusの確認が可能。実行中・失敗・スロークエリの特定も可能。

Page 48: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

48  

ジョブスケジューリング

定型のバッチクエリはCRONライクな設定方法で,容易にスケジューリング可能。

Page 49: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

49  

レコード数やコア数のU:liza:on

現在のデータ使用状況・コア数等を表示するUtilization。

Page 50: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

50  

5.  Data  Processing  

Page 51: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

KPI  

データ可視化・共有  

分析ツール連携  

他製品連携  

RDBMS,  Google  Docs,  AWS  S3,  FTP  Server,  etc.  

Metric  Insights,  etc.    

Tableau,  Dr.Sum,  Power  BI,  Excel,  etc.    

51  

Data  Processing  

Result  Output  クエリ結果自動書込  

データ収集   データ分析  データ保管  

データ集計  SQL,  Pig  

ストレージ  Flexible,  Scalable,  Columnar  

Storage  

バッチ型  分析  

アドホック型  分析  

分析エンジン  Hadoop,  Treasure  Query  Accelerator  

データ抽出  REST  API  

ODBC/JDBC  (SQL,  Pig)  

Webログ  

Appログ  

センサー  

CRM  

ERP  

RDBMS  

TD  Toolbelt  

並列バルク    アップローダー  

Treasure  Agent  

ストリーミング    ログコレクター  

POS  

Focus!

Page 52: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

52  

Big  Data  Infrastructure  Big  Data  のインフラ構築は様々な技術レイヤーの深い理解が必要。  内製をすると多大な構築コストと人材コストは免れられない。  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

O/S  

Hardware  

Networking  

Storage  Layer  

Frameworks  

Processing  Engines  

Applica:on  Interfaces  

Streaming  Collec:on   Batch  Collec:on   Business  Rules   Data  Integra:on   Consump:on  /  Analy:cs  

Page 53: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

53  

Hive

Pig

MapReduce

Dashboard

BI  Tools

Data  Analysis

Data  Insight Deep

Date,  Product  Category,  Area     User  Id

Granularity

Small

Auto

What  Helps?

Human  Decision

Machine  Learning

Data  Mart Aggregator Business  Goal Batch  Process Ad-­‐hoc  Process

Their  Own  Products

Enterprise  

Open  Source  

Impala

Database

Cube

File  /  HDFS

Batch

Ad-­‐hoc

分析にはビジネスゴールに応じたAggregator を用意する必要がある。

Page 54: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

54  

Data  Insight Deep

Date,  Product  Category,  Area     User  Id

Granularity

Small

Auto

What  Helps?

Human  Decision

Machine  Learning

Dashboard

BI  Tools

Data  Mart Aggregator Business  Goal Batch  Process Ad-­‐hoc  Process

Batch

Ad-­‐hoc

SQL-­‐like 

Que

ry  Language

Database

Cube

File  /  HDFS Data  Analysis

Treasure  Batch  Query  (Hive)  

Treasure  Query  Accelerator   (Presto)

New!!

Treasure  Scripted  

Query  (Pig)  

Scrip

t  

多段MapReduce

Treasure では用途に応じた Aggregator を全て用意。

Page 55: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

55  

Step  1   Step  2   Step  3  

現状の可視化  

定時レポート  

原因探索  

アドホック分析  

改善  

?  

分析の基本  3  Step  

大規模データ  全体を集計  

中・小規模データ  を抽出  

Hive  (バッチクエリ)  

判断やアクションを行える  情報を生成可能  

Treasure  Query  Accelerator  (アドホッククエリ)  

Page 56: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

56  

バッチ  /  アドホック型クエリ比較

バッチ型クエリ アドホック型クエリ

SQL-­‐style  Query  Language  -­‐  ラーニングコストが低い  -­‐  参考になる情報が溢れている  -­‐  Join,  Group  by,  Where  の概念は馴染み

やすい  

JDBC/ODBC  Driver  -­‐  多数のBIがJDBC/ODBCに対応  -­‐  それ以外のBIでもコネクタを作る事が

可能    

Yes!  Interac5ve!!  -­‐  インタラクティブな操作が実現  -­‐  クリック・ドラッグ操操作で直接

Treasure  Cloud  Storage  へアクセスが

可能に

For  R/Excel/SPSS  -­‐  解析に必要なデータセットの抽出  -­‐  Hiveの出力データ構造と解析ツールの

入力形式の親和性が良い  -­‐  入力データ抽出→解析→入力データ修

正→…  のイテレーション  

For  Automa5c  System  -­‐  リコメンドエンジンや広告配信システム

など,常に結果を参照し続けるシステム

に対応

Monitoring

BI  Tools

Data  Analysis

Page 57: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

57  

バッチ型クエリ アドホック型クエリ

定時レポーティング  •  顧客向けの定時パフォーマンスレ

ポーティング  •  1時間に1回の更新、確実に終わら

せる事が重要  

配信 適化  •  接続しているアドネットワークのパ

フォーマンスをリアルタイム集計  •  集計結果から広告配信のロジックをリ

アルタイムに 適化

定時レポーティング  •  社内  /  子会社  /  経営層向けの定期

パフォーマンスレポーティング  •  大量のKPIを定義し、毎日  /  毎時確

実に終わらせる事が重要  

サポート業務効率化  •  ユーザーからのサポートリクエストに

応じてその場でデータを集計  •  サポートのレスポンス・対応業務を効

率化し、ユーザーの満足度向上に繋

げる  

定時レポーティング  •  POS・Webサイト解析システム・タッ

チパネルシステムから上がってくる

データの定期レポーティング  •  毎時確実に終わらせる事が重要  

即時バスケット分析  •  過去数年分、数百億件のデータから、

その場でバスケット分析を実行可能  •  商品開発のミーティングの中で、過去

データを参照。データを元にした商品

開発活動を開始  

オンライン広告  

Web  /  Social  

リテール  

Page 58: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

58  

6.  Data  Mart  

Page 59: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

KPI  

データ可視化・共有  

分析ツール連携  

他製品連携  

RDBMS,  Google  Docs,  AWS  S3,  FTP  Server,  etc.  

Metric  Insights,  etc.    

Tableau,  Dr.Sum,  Power  BI,  Excel,  etc.    

59  

Data  Mart  

Result  Output  クエリ結果自動書込  

データ収集   データ分析  データ保管  

データ集計  SQL,  Pig  

ストレージ  Flexible,  Scalable,  Columnar  

Storage  

バッチ型  分析  

アドホック型  分析  

分析エンジン  Hadoop,  Treasure  Query  Accelerator  

データ抽出  REST  API  

ODBC/JDBC  (SQL,  Pig)  

Webログ  

Appログ  

センサー  

CRM  

ERP  

RDBMS  

TD  Toolbelt  

並列バルク    アップローダー  

Treasure  Agent  

ストリーミング    ログコレクター  

POS  

Focus!

Page 60: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

60  

参照

集計済

結合

蓄積

DB1

DB2  

DB3

Joined  Data

集計・フィルタ済データ

Treasure  Cloud  Storage  

バッチ集計  Visualiza:on

アナリスト

「バッチ」と「アドホック」のギャップ  

バッチ型の大規模集計とアドホック型のフロントエンドの要求には大きな「ギャップ」がある。 バッチ集計ではどんなに早くても10秒の処理時間がかかり,アド

ホックに処理結果を得たい場合の1秒以内レスポンスの要請を満たすことはできない。

アドホック処理  

Page 61: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

61  

「バッチ」と「アドホック」のギャップ  

Data    Processing  

Data    Visualiza:on  

Data    Storage  

Data  Collec:on  

Data    Source  

Data    Processing  

Data    Visualiza:on  

Data    Storage  

Data  Collec:on  

Data    Source  

Data    Mart  

アドホック  処理  

バッチ  処理  

GAP

Page 62: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

62  

参照

集計済

結合

蓄積

DB1

DB2  

DB3

Joined  Data

集計・フィルタ済データ

Treasure  Cloud  Storage  

バッチ集計  Visualiza:on

アナリスト

Data  Mart  

元データに対して直接アクセス

Data Mart と TQA の介在で双方のギャップを埋めることが可能に。

アドホック処理  

TQA  

クラウド環境

Redshif  

ローカル環境

File  

Page 63: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

元データに対して  〜  1/100  のデータ規模

63  

TQA  

元データに対して  1/100  〜  のデータ規模

出力が1レコード:合計・個数(PV, 売上, etc)など,日別→月別へ切り替

え時に再集計を必要としない集計

数値  

リスト  

出力がリスト:ユニーク数・平均・移

動平均など,日別→月別へ切り替

え時に再集計を必要とする集計

出力が可変:生データに

対するアドホックな集計

←↓中間データとはいえ,数100GB〜のデータサイズに増大する可能性のあるケースが増えてきている。

←特定の期間の結果など,(現在のデータ量ではなく)将来のデータの増加量が抑えられるケース。

Data  Mart  (中間データストレージ)の分類

※TQA は「クエリエンジン」であって「データベース/ストレージ」では無い。

Page 64: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

64  

7.  Data  Visualiza:on  

Page 65: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

KPI  

データ可視化・共有  

分析ツール連携  

他製品連携  

RDBMS,  Google  Docs,  AWS  S3,  FTP  Server,  etc.  

Metric  Insights,  etc.    

Tableau,  Dr.Sum,  Power  BI,  Excel,  etc.    

65  

Data  Visualiza:on  

Result  Output  クエリ結果自動書込  

データ収集   データ分析  データ保管  

データ集計  SQL,  Pig  

ストレージ  Flexible,  Scalable,  Columnar  

Storage  

バッチ型  分析  

アドホック型  分析  

分析エンジン  Hadoop,  Treasure  Query  Accelerator  

データ抽出  REST  API  

ODBC/JDBC  (SQL,  Pig)  

Webログ  

Appログ  

センサー  

CRM  

ERP  

RDBMS  

TD  Toolbelt  

並列バルク    アップローダー  

Treasure  Agent  

ストリーミング    ログコレクター  

POS  

Focus!

Page 66: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

66  

7-­‐1.  Learning  Data  Visualiza:on  

Page 67: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

67  

Visualiza:on  Types(入力データに基づく分類)

Raw  Data  

Aggregated  Data  

Cross  Tables  

Analyzed  Data  

Scader  Plot  

Map  Plot  

Math  Graph  

2-­‐Dimensional  Graph  

N-­‐Dimensional  Graph  

Sta:s:cal  Graph  

どのプロセスでの可視化を行いたいのか,で可視化の種類は変わってくる。

Page 68: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

Scader  Plot(散布図)  (for  Rawdata)  

 データレコードの任意の数値変数2項目をプロットし,関係を発見する。

Map  Plot  (for  Rawdata)  

 位置情報(緯度,経度)を持つデータポイントを地図上にマッピングし,データの密集度などを参考にする。

Math  Graph  (for  Rawdata)  

 データの「関係」を数学的グラフによって表現。

68  

Raw  Data  Explana:on

Page 69: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

2-­‐Dimensional  Graph  (for  aggregated  data)  

 主に  X-­‐軸,Y-­‐軸 (,Y2-­‐軸)を用いて表現される,バーグラフや円グラフなどの平面チャート。

N-­‐Dimensional  Graph  (for  cross  tables)  

 X-­‐軸,Y-­‐軸,Z-­‐軸 を用いて表現されるグラフ。Z-­‐軸は半径や色,奥行き,凡例などによって表現される。

Sta:s:cal  Graph  (for  analyzed  data)  

 統計分析によって導いた分布やモデル,パターンなどを図示する。

69  

Processed  Data  Explana:on

Page 70: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

表計算

統計ソフト

Dashboard

BI

プログラミングライブラリ

抽象化

70  

Graphの種類とツールの対応表

Map  Plot  

Map  Plot  

Scader  Plot  

Scader  Plot  

Scader  Plot  

Math  Graph  

2-­‐Dimensional  Graph  

2-­‐Dimensional  Graph  

2-­‐Dimensional  Graph  

2-­‐Dimensional  Graph  

Sta:s:cal  Graph  

Sta:s:cal  Graph  

N-­‐Dimensional  Graph  

N-­‐Dimensional  Graph  

N-­‐Dimensional  Graph  

N-­‐Dimensional  Graph  2-­‐Dimensional  Graph  Scader  Plot  

Page 71: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

部門 ツール名 OS 描画手続き

表計算 aabel3 Mac Chart  Library

統計ソフト ggplot2  (R  Library) Windows,  Mac,  Linux The  Grammar  of  Graphics  +  Layer  of  Graphics

Dashboard Metric  Insights Web  UI Widget  Tutorial  /  Chart  Library  &  Import  JS

BI Tableau Windows  (,  Mac) VizQL

プログラミングライブラリ

D3.js    (JavaScript) -­‐ Data  Driven  Documents

抽象化 Neo4j  (Java:  Graph  Database)

-­‐ Property  Graph

71  

代表的な可視化ツール

※Coming Soon !!

Page 72: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

部門 ツール名 OS 描画手続き

表計算 aabel3 Mac Chart  Library

統計ソフト ggplot2  (R  Library) Windows,  Mac,  Linux The  Grammar  of  Graphics  +  Layer  of  Graphics

Dashboard Metric  Insights Web  UI Widget  Tutorial  /  Chart  Library  &  Import  JS

BI Tableau Windows  (,  Mac) VizQL

プログラミングライブラリ

D3.js    (JavaScript) -­‐ Data  Driven  Documents

抽象化 Neo4j  (Java:  Graph  Database)

-­‐ Property  Graph

72  

Treasure  Data  Service  OEM

※Coming Soon !!

Treasure Data Service は, •  Dashboard: Metric Insights を OEM 提供。また,TDと共に活用さ

れている事例のあるTableauの紹介

Page 73: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

73  

Dashboard  と  BI  の違い

Dashboard BI

用途

•  毎日更新されるデータ (KPI) を素早く参照する

•  解析者に関わらず全てのユーザーが参照する

•  異常値やイベントなどの効果を素早く把握する

•  Smart Phone や Tablet からも参照する

•  様々な切り口・セグメントの組み合せでデータを閲覧

•  インタラクティブな操作でドリルダウンなどを行う

•  様々なチャートとテーブルを組合わせた表現を行う

•  プレゼンに耐えうるクオリティの高いレポートを作成

する

機能

•  異常検出機能,およびアラート機能

•  チャートへのアノテーション機能

•  チャートの一覧性・わかりやすさ

•  (任意の時間インターバルでの)データ自動更

新機能

•  素早く編集可能な互いに独立したパネル(ウィ

ジェット)

•  様々なデータベース・ファイル形式と接続でき

るコネクタ

•  インタラクティブな操作

•  豊富なチャートライブラリ,ダッシュボードエディタの

実装

•  適化された中間データ構造(Data Mart) を保持,

アクセスする仕組み

•  マウス操作によってデータの深堀りや切り口の切り

替え

•  JDBC / ODBC コネクタを初めとした様々なデータソー

スとのコネクタ

Page 74: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

74  

7-­‐2.  Metric  Insights  

Page 75: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

75  

Metric  Insights:  Overview

Page 76: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

76  

異なるデータソースの共存が可能

Page 77: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

77  

•  Treasure  API  キー  •  接続するデータベース名  •  集計インターバル  •  チャートタイプ  •  集計クエリ

ウィジェット A •  Treasure  API  キー  •  接続するデータベース名  •  集計インターバル  •  チャートタイプ  •  集計クエリ

ウィジェット B

各々のウィジェットに異なるデータベース・テーブルからの集計結果を表示することが可能。

異なるデータベース・テーブルの共存が可能

Page 78: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

78  

ウィジェット設定

設定アイコンを クリック

Page 79: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

79  

ウィジェット設定

1. 集計インターバルを設定

2. メジャーの種類を設定

3. カテゴリを設定

Page 80: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

80  

4. Plug-inを選択

5. 接続するデータソースを指定

6. クエリを記述

7. Sample Result を確認

ウィジェット設定

Page 81: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

81  

チャートウィジェット(時系列データ)

Page 82: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

82  

チャートウィジェット(その他のデータ)

Page 83: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

83  

レポートウィジェット(複数のチャートとテーブルの統合)

Page 84: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

84  

レポートウィジェット(複数のチャートとテーブルの統合)

Page 85: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

85  

レポートウィジェット(複数のチャートとテーブルの統合)

Page 86: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

86  

オンラインゲームソリューション

オンラインゲームソリューションとして,  複数ゲームの様々なKPIを一覧できるダッシュボード:Metric  Insights  を提供。

Page 87: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

87  

7-­‐3.  Tableau  

Page 88: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

88  

Tableau  Overview

CFOダッシュボード 製品開発 サポートセンター ウェブ分析 サプライチェーン分析 マーケティング分析

人事分析 開発分析 営業分析 ビッグデータ分析 SNS分析 その他分析

Page 89: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

89  

コンセプト

直感を大事にする  

深く掘り  下げる  

視点を  変える  

関連付ける  

Page 90: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

90  

コンセプト

直感を大事にする  

深く掘り下げる  

Page 91: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

91  

コンセプト

視点を変える  

関連付ける  

Page 92: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

92  

Tableau  を使った情報配信の種類  

データ  ソース  

 Tableau  Desktop  •  ワークブック作成  •  アドホック分析の実施  •  抽出ファイル作成  •  パッケージファイル作成  

 Tableau  Server  •  オンライン対話型操作  •  ライブ/抽出ファイル接続  •  セキュリティ  •  スケジュール処理  

 Tableau  Reader  •  無料  •  オフライン  •  対話型  •  パッケージファイル  

 エクスポート  •  イメージデータ

(PNG,JPG)  •  PDFファイル  •  Excelファイル  

Web  Browser  /  Mobile  •  オンライン対話型操作  •  オンライン編集  •  セキュリティ  •  ゼロフットプリント  

接続  

ワークブック・データソース定義の  

パブリッシュ/エクスポート  

接続  

Tabcmd  •  コマンドライン  •  各種ファイルエクスポート  •  抽出ファイル更新  

情報配信  

データソース  定義への接続  

Page 93: トレジャーデータ株式会社について(for all Data_Enthusiast!!)

93  

Discussion  &  Q  and  A