[db tech showcase tokyo 2014] d36: 次世代分析基盤 "data lake"...

64
1 © Copyright 2014 Pivotal. All rights reserved. 20141113Pivotalジャパン株式会社 市村 友寛 勇樹 次世代分析基盤 ”Data Lake” を支える Pivotalのインメモリ + SQL on Hadoopテクノロジー

Upload: insight-technology-inc

Post on 02-Jul-2015

902 views

Category:

Technology


0 download

DESCRIPTION

効率的にデータを蓄積し、蓄積されたデータを分析し、どのようにビジネスに生かしていくか? 本セッションでは、Pivotalを採用したビッグデータ分析・活用事例を基に、今後の統合分析基盤に必要な「データ・レーク・アーキテクチャ」と、その要素技術であるインメモリデータグリッド ”GemFire”とSQL on Hadoop “HAWQ”についてご紹介します。

TRANSCRIPT

Page 1: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

1 © Copyright 2014 Pivotal. All rights reserved. 1 © Copyright 2014 Pivotal. All rights reserved.

2014年11月13日 Pivotalジャパン株式会社

市村 友寛 宵 勇樹

次世代分析基盤 ”Data Lake” を支える Pivotalのインメモリ + SQL on Hadoopテクノロジー

Page 2: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

2 © Copyright 2014 Pivotal. All rights reserved.

Pivotal 会社概要

CEO ポール・マリッツ

従業員数 約2,000人

企業顧客 1,200社以上

出資企業 EMC連合とGE連携

2013年4月設立 (日本法人:7月)

エンタープライズ向けに3rdプラットフォームを実現するソフトウェアを開発・提供 クラウド(PaaS)とビッグデータの基盤技術、及び次世代アプリ開発サービスが主軸

Page 3: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

3 © Copyright 2014 Pivotal. All rights reserved.

Pivotal’s Opportunity §  ビッグデータ

Pivotal HD, Pivotal Greenplum DB §  ファストデータ

Pivotal GemFire §  エンタープライズ PaaS

Pivotal CF §  アジャイル開発支援サービス

Pivotal Labs §  データサイエンティスト及び   育成トレーニング

Pivotal Data Science Labs

Page 4: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

4 © Copyright 2014 Pivotal. All rights reserved.

ビッグデータ時代に求められる要素技術 吨听吀ー

吵呉吐

データ量

分散型RDB GreenplumDB

PureData, Teradata, ExaData

Hadoop Pivotal HD

CDH, MapR, Horton

SQL on Hadoop HAWQ

Impala, Drill, Presto,..

RDB

Oracle, DB2, MSSQL Server MySQL, PostgreSQL

インメモリ GemFire/XD

TimesTen, SAP HANA

Page 5: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

5 © Copyright 2014 Pivotal. All rights reserved.

Pivotal Data Lake アーキテクチャ

アナリティック データマート

SQL処理

オペレーショナル インテリジェンス

イン・メモリ データベース

ラン・タイム アプリケージョン

HDFS

データ ステージング

データ管理

Pivotal Data Lake

ストリーム インジェスチョン ストリーミング処理

Software-Defined Datacenter

New Data-fabrics ...ETC

イン・メモリ グリッド

GemFire XD

GemFire XD

�  データ処理基盤の基盤要素となるHadoop(HDFS)にデータを蓄積

�  さまざまなデータ・要件に応じて処理エンジンを使い分ける

Page 6: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

6 © Copyright 2014 Pivotal. All rights reserved.

Pivotal Data Lake リファレンスアーキテクチャ 3. SQLにも対応した高い開発生産性

S Q L

セントラルDWH データマート

BI ビジネス

アナリティクス 構造化データ

勘定系 システム

情報系 システム

周辺

システム

データウェアハウス

経営者 管理者

業務部門

分析者・情報システム部門

ファストデータ

インメモリー・エンジン ビジネス   

アプリケーション

非構造化データ アクセスログ メール・Web M2M 音声 画像・映像 SNS

生データ

ETL 処理

Hadoop

データレイク

Page 7: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

7 © Copyright 2013 Pivotal. All rights reserved.

全ての事業部門をまたがったデータ分析基盤(Industrial Data Lake)をPivotal社のテクノロジーで実現

GEのイノベーション Industrial Internet

2014年8月15日 日経産業新聞

25のエアライン

340万フライト

340TBデータ

2,000倍の分析速度向上

10分の1の費用削減

アプリ投入まで7日間

Page 8: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

8 © Copyright 2014 Pivotal. All rights reserved.

風力発電システムの最適化(米国)

Big Data

Fast Data 秒間あたり数千データポイントからの

データ投入

緊急停止 チューニング & 最適化、

監視と制御

継続的なリアルタイム分析

保守作業の効率化 課金

Page 9: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

9 © Copyright 2014 Pivotal. All rights reserved.

次世代ビックデータ基盤を支えるソフトウェア群

レギュラーパフォーマンス&バッチ

分析

ハイパフォーマンス分析

HAWQ Pivotal Greenplum DB

Pivotal HD

リアルタイム分析 Pivotal GemFire XD Pivotal GemFire

Hadoop

超並列処理 RDB

インメモリー KVS

Page 10: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

10 © Copyright 2014 Pivotal. All rights reserved.

•  VMware上での最適化機能 HVE •  EMCのスケールアウトNAS   ”Isilon”との連携

•  Apache Hadoop2.2ベース •  商用製品としての追加機能

•  Command Center, HVE •  HAWQ, GemFireXD

•  オープンソースとの連携・統合 •  Spark, Parquet, GraphLab等

PivotalのHadoopディストリビューション

HDFS

HBase

Pig, Hive, Mahout

Map Reduce

Sqoop Flume

リソース管理 & ワークフロ

YARN

ZooKeeper

Apache Pivotal HD 追加機能

Pivotal Command

Center 構成/デプロイ/

監視/管理 Hadoop バーチャライゼーション

(HVE)

Xtension フレームワーク

カタログ サービス

オプティマイザ

(Orca)

ダイナミック・パイプライニング

ANSI SQL + アナリティクス

HAWQ アドバンスドデータベースサービス

•  標準SQL対応のDBエンジン •  HIVE比数十倍〜数百倍の高性能

高速なSQLエンジンの搭載

Spark ※1

Ambari ※2

Oozie

Spring

GraphLab, OpenMPI

※3

※1. Pivotal HDは Apache Spark と稼働することを認定する “Certified Spark Distribution”に登録されています。(2014/5) ※2. Pivotalは Apache Ambariの開発プロジェクトに参画することを表明しています。(2014/7) ※3. PivotalHD2.0 にてGraphLab, OpenMPI, Parquetはベータ提供されています。

Parquet ※3

MADlib

VM・EMCテクノロジーとの連携

•  ApacheベースのHadoopにエンタープライズ機能を追加・オープンと商用両方のメリットを享受 •  ANSI SQL準拠による高速SQLエンジンによる既存資産 (プログラムやスキル) の保護

Pivotal HD Data Lake プラットフォームのコアテクノロジー

Page 11: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

11 © Copyright 2014 Pivotal. All rights reserved.

データベース ファイル システム 外部データストア

GemFire XD データグリッド

高いスループット 低遅延 優れたスケーラビリティ 継続的な可用性 信頼性の高いイベント通知機能 SQL(JDBC/ODBC) 並列処理

WAN 経由の分散

データを利用するエンタープライズ アプリケーション

データの持続性

HDFS その他データストア

Pivotal GemFire XD 低遅延、スケールアウトを実現

Page 12: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

12 © Copyright 2014 Pivotal. All rights reserved.

GemFire XD - 低遅延、スケールアウトを実現

Page 13: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

13 © Copyright 2014 Pivotal. All rights reserved.

インメモリデータグリッドの概要

Page 14: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

14 © Copyright 2014 Pivotal. All rights reserved.

インメモリデータグリッドの基本的な概念

Handle thousands of concurrent connections

Synchronous replication for slow changing data

Replicated Region

Partition for large data or highly transactional data

Partitioned Region

Redundant copy

14

Low latency for thousands of

clients

•  分散型メモリ指向のデータストア •  キーバリュー/オブジェクト、SQLアクセス •  クエリー、インデックス、トランザクション対応

•  複数のストレージモデル •  メモリ上でのレプリケーション、パーティション •  クラスタ間での冗長データのコピー •  ディスクもしくはRDBMSへのデータ展開

•  アプリケーションロジックの並列化 •  複数の障害検知処理 •  動的なメンバーの追加 (elastic) •  ベンダーの差別化要素

•  SQL対応、WAN対応, イベント処理, etc

Page 15: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

15 © Copyright 2014 Pivotal. All rights reserved.

従来のRDBMSにおける課題

§  大量のI/O §  設計時の想定とのギャップ

•  ACIDにフォーカス •  ディスク同期のボトルネック

バッファは主にI/O向けに最適化

初めにLOGを書込む

次にデータ・ファイルに書込む

Page 16: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

16 © Copyright 2014 Pivotal. All rights reserved.

1,200+同時アクセス 70万+のスループット

GemFire XD/SQLFireのベンチマーク結果

Page 17: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

17 © Copyright 2014 Pivotal. All rights reserved.

RDBMSとの連携 : DBSynchronizer • RDBMSとテーブル定義が同じ場合に有効

Flights FlightsR

Airlines Airlines

Flights FlightsR

FlightAvailability FlightAvailabilityR

FlightAvailability FlightAvailabilityR

java.sql.Connection conn = getConnection(); CallableStatement cs = conn.prepareCall(“CALL SYS.ADD_ASYNC_EVENT_LISTENER(?,?,?,?,?,?,?,?,?,?,?)”); cs.setString(1, “SG1”); cs.setString(2, “MyID”); cs.setString(3, “com.vmware.sqlfire.callbacks.DBSynchronizer”); cs.setString(11,“jdbc:oracle:thin:@localhost:1521:XE”); cs.execute();

Page 18: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

18 © Copyright 2014 Pivotal. All rights reserved.

データセンター間のデータ・レプリケーション GemFire

1

GemFire4 Gateway

GemFire3

New York Site

GemFire5 Standby Gateway

GemFire6

GemFire7

GemFire8 Gateway

Tokyo Site GemFire9 Gateway

GemFire 10 GemFire 11

London Site

Standby Gateway Paths

Primary Gateway Paths

GemFire12 Standby Gateway

GemFire2 Standby Gateway

"  グローバルなデータ配信 "  アクティブ-アクティブな DR 対策 "  標準機能として提供

Page 19: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

19 © Copyright 2014 Pivotal. All rights reserved.

‘Shared nothing persistence’なアーキテクチャの利点と課題

þ 追記のみのオペレーションログ þ 完全な並列処理 þ ディスクシークなし ¨ ログのスキャンにはクラスタセットの

再起動が必要 ¨ 大容量のボリュームに対しては調整が

必要

MemoryTables

Append only Operation logs

OS Buffers

LOG Compressor

Record1

Record2

Record3

Record1

Record2

Record3

MemoryTables

Append only Operation logs

OS Buffers

LOG Compressor

Record1

Record2

Record3

Record1

Record2

Record3

インメモリデータグリッドである GemFireにおいても課題が存在

Page 20: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

20 © Copyright 2014 Pivotal. All rights reserved.

•  成熟しつつあり、適用範囲も拡大 •  汎用サーバでも大規模なデータセットを取り扱いが可能 •  障害への柔軟な対応 •  シンプルな一貫性モデル

Hadoop HDFS

Hadoop core(HDFS) for scalable, parallel storage

Page 21: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

21 © Copyright 2014 Pivotal. All rights reserved.

Hadoop エコシステムが実現する利点

� 大規模なボリュームセット ( TB to PB)

� 高可用性, 圧縮機能

� 並列計算とデータ分析基盤としての成熟度とエコシステムの展開

� ストレージシステムにおいてもHDFS対応が普及

� 仮想化環境への対応も徐々に浸透

Page 22: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

22 © Copyright 2014 Pivotal. All rights reserved.

GemFire XD インメモリデータグリッドからの新たな展開

Page 23: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

23 © Copyright 2014 Pivotal. All rights reserved.

GemFire XD – リアルタイムデータ分析エンジン

SQLFire

Pivotal HD GemFire

クラスタリング、インメモリデータストア、HA, レプリケーション、WAN対応、イベント処

理、分散キュー…

SQL エンジン - オプティマイザ、インメモリ上のインデックス作成、分散トランザクション、RDBインテ

グレーション..

インストール、構成、管理の統合化、監視機能、Hadoopへの

最適化

+

インメモリ、さらには地理的に 分散されたワーキングセット

過去データ、時系列データをHDFSに格納

SQL

Objects, JSON

Page 24: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

24 © Copyright 2014 Pivotal. All rights reserved.

HDD HDD HDD HDD HDD

HDFS

データノード

HDFS

データノード

HDFS

データノード

HDFS

データノード

HDFS

データノード

Map/Reduce, Hive, HBase GemFire XD PXF Plugin

GemFire XD クラスタ

Hadoop クラスタ

データベース

データセンター

GemFire XD アーキテクチャ概要 JDBC ODBC

Page 25: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

25 © Copyright 2014 Pivotal. All rights reserved.

SQL + IMDG(Objects) + HDFS メインメモリーをベースに 低遅延で分散したビッグデータ向けのデータストア

実際に操作する データのみ、メモリ上に展開

永続化、あるいは アーカイブデータはHDFSへ

Page 26: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

26 © Copyright 2014 Pivotal. All rights reserved.

SQL + IMDG(Objects) + HDFS

レプリケーション / パーティション

ストレージモデル:

- インメモリ - インメモリとローカルディスク - インメモリとHDFS

Page 27: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

27 © Copyright 2014 Pivotal. All rights reserved.

SQL + IMDG(Objects) + HDFS SQL Engine – OLTP、トランザクション にも対応

IMDG キャッシュ機能 - readThru, writeBehind, 等々

Page 28: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

28 © Copyright 2014 Pivotal. All rights reserved.

SQL + IMDG(Objects) + HDFS HDFSとの密な統合 – ストリーミング、R/Wアクセス データ分析はインメモリではなくHDFSを利用 

– シーケンシャルなアクセス、もしくはインクリメンタルな処理を実現

データ投入の並列化により、リアルタイムに近い詳細な分析も可能

Page 29: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

29 © Copyright 2014 Pivotal. All rights reserved.

SQL + IMDG(Objects) + HDFS

MapReduceにおけるreduce処理にてインメモリへの データ反映

リアルタイム処理と分析の間でのクローズドなループを実現

Page 30: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

30 © Copyright 2014 Pivotal. All rights reserved.

Table Partitioned Table

Redundant Partition

Partitioned Table

Redundant Partition

Partitioned Table

Redundant Partition

Replicated Table Replicated Table Replicated Table

Colocated Partition Colocated Partition Colocated Partition

CREATE TABLE FLIGHTS ( FLIGHT_ID CHAR(6) NOT NULL , SEGMENT_NUMBER INTEGER NOT NULL , ….. PARTITION BY COLUMN (FLIGHT_ID) PERSISTENT HDFSSTORE RWStore;

CREATE HDFSSTORE RWStore NAMENODE hdfs://PHD1:8020 DIR /indexed-tables BATCHSIZE 10 BATCHTIMEINTERVAL 2000 QUEUEPERSISTENT true;

GemFire XDにおけるデータ管理

Page 31: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

31 © Copyright 2014 Pivotal. All rights reserved.

レイテンシの観点でみた適用範囲

マシンによる 応答

インタラクティブ レポート バッチ処理 人間による

操作

Milliseconds Seconds Seconds, Minutes Minutes, Hours

Online/OLTP/Operational DBs Analytics, Data Warehousing PivotalHD HAWQ GemFire XD

Page 32: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

32 © Copyright 2014 Pivotal. All rights reserved.

Hadoop上でのリアルタイム処理における選択肢

Many more…. ほとんどがデータ分析に向いたインタラクティブなクエリ処理にフォーカス

Page 33: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

33 © Copyright 2014 Pivotal. All rights reserved.

GemFire XD + Pivotal HD

GemFire XD HAWQ

HDFS

PXF

データモデル 更新 Map-Reduce

I/P & O/P Formatter

Shared Data - HFiles

PCC

データモデル 更新

Online Apps Analytic Apps

Sensor Data / Feeds

分析データの取り込み リアルタイム/セミ・リアルタイムでの データ投入

分析データの処理

高度なデータ分析 リアルタイムデータの投入 リアルタイム分析

リアルタイム+ビックデータによるData Lakeアーキテクチャの実現

Page 34: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

34 © Copyright 2014 Pivotal. All rights reserved.

PaaSにおけるサービスとしての提供

�  Pivotal CF上に展開されるアプリケーションに対してGemFireXDをサービスとして提供

–  Pivotal CF: オープンソースPaaSであるCloud Foundryの商用ディストリビューション

�  独自のサービスとしても追加可能 –  Service Brokerの実装 –  ユーザ定義サービス

Pivotal GemFire XD for Pivotal CF

Page 35: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

35 © Copyright 2014 Pivotal. All rights reserved.

エンタープライズ向け SQL on Hadoopエンジン

Page 36: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

36 © Copyright 2014 Pivotal. All rights reserved.

要点

1.  HAWQとは何か?

2.  HAWQは速い

3.  HAWQはSQL互換

Page 37: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

37 © Copyright 2014 Pivotal. All rights reserved.

バッチ処理

http://www.anishsneh.com/2014/07/hadoop-mapreduce-api.html

Page 38: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

38 © Copyright 2014 Pivotal. All rights reserved.

アドホッククエリ Ø  SELECT id, name, address FROM foo LIMIT 100; Ø  SELECT a, b, count(c) FROM bar GROUP BY a, b; …

Page 39: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

39 © Copyright 2014 Pivotal. All rights reserved.

Hive :SQL に似たHiveQLでMapReduceを実行

対話式に大量データを処理が可能に

Hadoop向けクエリ言語 Hive

Page 40: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

40 © Copyright 2014 Pivotal. All rights reserved.

� 小規模なクエリを実行するにも時間がかかる –  MapReduceを使用しており、毎回JavaVMの起動-終了処理を実行する為

� BIツール等で動かない場合が多い –  SQLの完全互換では無い為

Hive の問題点

Page 41: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

41 © Copyright 2014 Pivotal. All rights reserved.

Hiveよりも速く、SQL互換で、 Hadoop上で動くエンジンが必要

SQL on Hadoop

Page 42: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

42 © Copyright 2014 Pivotal. All rights reserved.

�  エンタープライズ向けクエリエンジン �  HDFS上に高速データベースエンジン

HAWQを搭載 –  ビッグデータに対する

高速クエリ処理 –  標準SQL準拠 –  統計解析関数 MADlib に対応

HDFS Pig MapReduce

PivotalHD

SQL on Hadoop “HAWQ” HAdoop With Query

Page 43: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

43 © Copyright 2014 Pivotal. All rights reserved.

User intelligence   4.2   198  

Sales analysis   8.7   161  

Click analysis   2.0   415  

Data exploration   2.7   1,285  

BI drill down   2.8   1,815  

47X

19X

208X

476X

648X

HAWQは速い

単位:秒

User intelligence   4.2   37  

Sales analysis   8.7   596  

Click analysis   2.0   50  

Data exploration   2.7   55  

BI drill down   2.8   59  

単位:秒

9X

69X

25X

20X

21X

Page 44: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

44 © Copyright 2014 Pivotal. All rights reserved.

HAWQ/Impala比較性能検証 (業界標準指標TPC-DSを使用)

参考URL: Orca: A Modular Query Optimizer Architecture for Big Data http://www.gopivotal.com/sites/default/files/SIGMODMay2014HAWQAdvantages.pdf 参考URL: [2014/6/25] Pivotal HAWQ Benchmark Demonstrates Up To 21x Faster Performance on Hadoop Queries Than SQL-like Solutions http://blog.gopivotal.com/pivotal/products/pivotal-hawq-benchmark-demonstrates-up-to-21x-faster-performance-on-hadoop-queries-than-sql-like-solutions

※. TPC-DSとは業界標準の性能指標を定義する業界団体 TPC (Transaction Processing Performance Council) が提供する情報系システムのための公式な性能指標です。2012年から提供されている TPC-DS では、流通業における典型的なデータモデルを再現しており、25テーブル、429カラムに対して様々なクエリを実行します。

サポートクエリ数比較

100%

100%

(母数111クエリ)

(母数111クエリ)

非サポートクエリ

非サポートクエリ もしくは処理中に

異常終了したクエリ 完了したクエリ Impalaと比較して平均6倍の高速

28% HAWQ処理時間を1とした場合の

Impala処理時間

※. 検証では PHD1.1/HAWQ1.1 と CDH4.4/Impala 1.1.1.を使用しました。

18%

サポートかつ完了したクエリ数比較

性能

Page 45: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

45 © Copyright 2014 Pivotal. All rights reserved.

データ処理フロー比較

プラン作成

クエリ実行

クエリの投入

結果の返信

ルールベースのオプティマイザ •  テーブルデータの内容に関わらずクエ

リによって実行プランを作成 •  MapReduceスクリプトを作成

MapReduce処理 •  Javaプロセスの起動・停止

中間データのディスク処理 •  逐次ディスクIOの発生

コストベースオプティマイザ Orca •  テーブルデータの内容(データ量、カー

ディナリティ等)を踏まえ最適な実行プラ

ンを作成

Cプロセス処理 •  常駐プロセスによる即時処理

中間データのオンメモリ処理 •  パイプライン処理によるオンメモリの高

速処理 •  ディスクIOを排除

Page 46: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

46 © Copyright 2014 Pivotal. All rights reserved.

クエリオプティマイザが実現する高速データ処理

�  コストベースのオプティマイザが最

適な実行プランを選択 –  DB処理(スキャン、ジョイン、ソート、集

計等)に対してコストを算出

–  セグメント間通信(“モーション”)もオプ

ティマイザが指示

�  ダイナミックパイプライン処理 –  中間データのオンメモリ処理

PHYSICAL EXECUTION PLAN FROM SQL

Gather Motion 4:1(Slice 3)

Sort

HashAggregate

HashJoin

Redistribute Motion 4:4(Slice 1)

HashJoin

Hash Hash

HashJoin

Hash

Broadcast Motion 4:4(Slice 2)

Seq Scan on motion

Seq Scan on customer

Seq Scan on lineitem

Seq Scan on orders

MapReduceを介さずデータをパイプライン処理

Page 47: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

47 © Copyright 2014 Pivotal. All rights reserved.

最新クエリオプティマイザ Orcaによる圧倒的性能向上

� ジョインオーダーリング –  インタコネクトへの大規模データ転送を防ぐテーブル結合順序を選定

� 相関サブクエリ処理 –  反復的サブクエリ処理を回避

� 動的 パーティション排除スキャン –  クエリ処理中の中間データにあわせてスキャン対象パーティションを動

的に選定・排除

従来クエリオプティマイザ比平均5倍の性能向上を実現

Page 48: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

48 © Copyright 2014 Pivotal. All rights reserved.

ジョインオーダリングの例

A B

join

各ノードにデータを分配

A (100万件、

ユーザidで分散)

B (100万件、

明細idで分散)

各ノードにデータを分配

join

ユーザID毎に集計したい場合

どちらがよいか?

or

Page 49: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

49 © Copyright 2014 Pivotal. All rights reserved.

分散キーの件数をヒストグラム化 Aのノード毎のユーザid数

Bのノード毎のユーザid数

A (ユーザidで分散)

B (明細idで分散)

テーブル情報から分析

テーブル情報から分析

Page 50: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

50 © Copyright 2014 Pivotal. All rights reserved.

ヒストグラムから実行時間の見積もり Aのノード毎のユーザid数

Bのノード毎のユーザid数

Aを固定してBのデータを各ノードに分配した場合の実行時間

Bを固定してAのデータを各ノードに分配した場合の実行時間

Page 51: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

51 © Copyright 2014 Pivotal. All rights reserved.

A B

join

A B

join

比較

こちらの方が時間がかからないので採用

分配 分配

Page 52: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

52 © Copyright 2014 Pivotal. All rights reserved.

HAWQでは自動でジョインオーダリングを実施

A B

join

A B

join

比較

採用

分配 分配

Page 53: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

53 © Copyright 2014 Pivotal. All rights reserved.

HAWQはSQL準拠

ハード/OS RDBMS BIツール

ハード/OS BIツール HDFS

SQL ‘92 ’93 2003 OLAP対応

Page 54: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

54 © Copyright 2014 Pivotal. All rights reserved.

HAWQを支える GreenplumDB 10年の実績 GreenplumDBの主要テクノロジーを HAWQ で採用

•  標準 SQL 対応

•  コストベースオプティマイザ

•  ダイナミックパイプライン処理

•  ローストア・カラムストア両方への対応

•  圧縮(QuickLZ, ZLIB, RLE)

•  分散格納

•  マルチレベルパーティショニング

•  パラレルーロード・アンロード

•  高速データ再分散

•  統計解析関数(MADlib)

•  SELECT

•  INSERT

•  JOIN

•  ビュー

•  外部表

•  リソースマネジメント

•  セキュリティ

•  認証

•  管理・監視

•  ODBC/JDBC対応

Page 55: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

55 © Copyright 2014 Pivotal. All rights reserved.

分散 数値計算・機械学習ライブラリ MADlibを同梱

予測的モデリングライブラリ

線形システム解析 •  疎行列ソルバー •  密行列ソルバー

行列因子分解 •  特異値分解 (SVD) •  低ランク近似

一般化線形モデル •  線形回帰 •  ロジスティック回帰 •  多項ロジスティック回帰 •  コックス比例ハザード •  回帰分析 •  エラスティックネット型正規化 •  サンドイッチ推定

機械学習アルゴリズム •  主成分分析(PCA) •  アソシエーションルール分析 (アフィニティ分

析,マーケットバスケット分析) •  トピックモデリング (パラレルLDA) •  決定木 •  アンサンブル学習(ランダムフォレスト) •  サポートベクターマシン •  コンディショナルランダムフィールズ(CRF) •  クラスタリング (K平均法) •  クロスバリデーション

記述統計

スケッチベース推定 •  CountMinスケッチ •  Flajolet-Martinスケッチ •  最頻値スケッチ 相関関係 統計値サマリ

サポートモジュール

配列演算 疎ベクトル ランダムサンプリング

確率関数

Latest release: MADlib v1.6, URL: madlib.net

Page 56: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

56 © Copyright 2014 Pivotal. All rights reserved.

MADlibサポート機能の例 K-means 適用前

x

y

点の塊を大まかに3つに分割したい

Page 57: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

57 © Copyright 2014 Pivotal. All rights reserved.

MADlibサポート機能の例 K-means 適用後

x

y クラスタA クラスタB

クラスタC

点の塊から、3つのクラスタが均等にバラけるように、重心●を作成

各点は重心●に近いクラスタに所属

Page 58: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

58 © Copyright 2014 Pivotal. All rights reserved.

MADlibでのK-means実行例

> SELECT * FROM madlib.kmeanspp( 'km_sample', 'points', 3, 'madlib.squared_dist_norm2', 'madlib.avg', 20, 0.001 );

重心を求める例

centroids | {{13.24,2.59, … ,735},{13.856,…,1078},{14.255,…,1378.75}} …

madlibの関数

3つの重心の位置

出力

詳細:http://doc.madlib.net/latest/group__grp__kmeans.html

入力テーブル

分割数

Page 59: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

59 © Copyright 2014 Pivotal. All rights reserved.

マイクロアド様 Pivotal HD+HAWQ事例

Pivotal HD+HAWQによりSPSSの既存資産に一切手を加えることなく分析可能なデータの拡大を低コストで実現。お客様にとっての競争力の源泉であるデータ分析精度の向上に貢献

既存環境 ・ IBM PureData/SPSSの分析基盤を構築 ・ 分析要望の高度化により格納データ増大、PureData の容量枯渇 ・ コストを抑えるためHadoop (Cloudera無償版)を併用 課題 ・ SPSSのクエリがHadoop標準ツールHIVEでは  「通らない」「途中でエラーになる」「著しく遅い」ため  実用に堪えない

Pivotal HD + HAWQ導入結果 ・ SPSSのクエリが変更無しで100%利用可能

・ HIVEと比較して最大約70倍速い性能を記録 ・ 汎用IAサーバ6台で実装

少ない投資で広範囲なデータに対して今までで

きなかった分析を実施可能に

(BA) IBM

SPSS

(DWH) IBM PureData

(Hadoop) Pivotal

Page 60: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

60 © Copyright 2014 Pivotal. All rights reserved.

HAWQの結論

1.  HAWQはSQL on Hadoopの一つ HadoopでGreenplumのクエリエンジンを動くようにしたもの

2.  HAWQはHiveより数十~数百倍, Impalaより数倍速い

3.  HAWQはSQL互換なので、既存のツールから 使いやすい

Page 61: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

61 © Copyright 2014 Pivotal. All rights reserved.

•  データ蓄積→分析→アプリケーションのサイクル

•  あらゆるデータをとらえるビッグデ

ータ基盤「データレイク」構想

ビッグデータ時代の 企業変革を実現するPivotal

Page 62: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

62 © Copyright 2014 Pivotal. All rights reserved.

•  データ蓄積→分析→アプリケーションのサイクル

•  あらゆるデータをとらえるビッグデータ

基盤「データレイク」 構想

ビッグデータ時代の 企業変革を実現するPivotal

Page 63: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

63 © Copyright 2014 Pivotal. All rights reserved.

Pivotalの提供するコンサルティングサービス � ビッグデータ基盤を導入したい

–  けどログ転送などどうすれば・・

� データ分析・機械学習をしたい

・・・ 新たな ビジネスモデル

データ アナリティクス

アプリケーション

データサイエンス ビッグデータ (DWH/Hadoop)

アジャイル開発

クラウド(PaaS)基盤 オープンソース

ファストデータ (M2M/リアルタイム)

基幹システム連携

Pivotalジャパンにて 導入サポート&トレーニング実施

日本人のデータマイニングエンジニア及び データサイエンティスト在籍

Page 64: [db tech showcase Tokyo 2014] D36: 次世代分析基盤 "Data Lake" を支えるPivotalのインメモリ+SQL on Hadoopテクノロジー by Pivotalジャパン株式会社 市村友寛

A NEW PLATFORM FOR A NEW ERA