Mais conteúdo relacionado
Semelhante a [db tech showcase Tokyo 2015] B27:インメモリーDBとスケールアップマシンによりBig Dataの課題を解決する by SAPジャパン株式会社 花木敏久 (20)
Mais de Insight Technology, Inc. (20)
[db tech showcase Tokyo 2015] B27:インメモリーDBとスケールアップマシンによりBig Dataの課題を解決する by SAPジャパン株式会社 花木敏久
- 2. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 2
免責条項
このプレゼンテーションに含まれる情報は機密であり、SAPの専有情報であり、SAPの許可なく開示するこ
とはできません。このプレゼンテーションは、御社とのライセンス契約やその他のサービス、SAPとのサブ
スクリプションに関する合意書とは無関係です。SAPはこの文書や関連するプレゼンテーションに記載され
た事業を遂行することについて、またそれらに記載されている機能の開発やリリースについて何ら義務を負
いません。この文書や関連するプレゼンテーション、SAPの戦略や将来的な開発、製品やプラットフォーム
の方針や機能についてはすべて、予告なく変更される場合があります。この文書に含まれる情報は、何らか
の資料、コードまたは機能の提供を確約したり、約束したりするものではなく、また法的な義務を負うもの
ではありません。この文書は、明示・黙示を問わず、また商品性、特定目的適合性、非侵害に関する暗黙の
保証等(これらに限りません)何らの保証も提供するものではありません。この文書は情報提供の目的のも
ので、契約書には含まれません。SAPは誤字・脱字や誤りなどに責任を負わず、またこの文書の使用により
生じた直接損害、間接損害、結果損害等(これらに限りません)、いかなる種類の損害にも責任を負いませ
ん。
将来に関する記述にはすべてに様々なリスクや不確定要素があり、実際の結果が期待値と大きく異なる場合
もあります。これらの将来的な記述は書かれた時点の情報にすぎませんので、過度に信頼しないようご注意
いただくとともに、購入の意思決定の根拠としないようにしてくださ
い。
- 3. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 3
⾃自⼰己紹介
- 5. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 5
従来の分析⼿手法
昔は、全てのデータを集めることは困難でした
Ÿ だから、サンプリング→仮説→予測
Ÿ この世界ではコンピュータは不不要→計算尺や数表でやっていました
Ÿ ここの⽅方法論論をコンピュータ上に持ってきても、得られるものは時間の
節約だけ、、、、新しい発⾒見見はありません。
- 6. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 6
サンプリングではダメな分野がある!
ダイレクト・マーケティング
Ÿ ⼀一⼈人ひとりの顧客に注⽬目して分析する必要がある
不不正検知
Ÿ 全件チェックを⾏行行わなければ、不不正の存在/⾮非存在を判断できない
アルゴリズムの変化
Ÿ 機械学習の技法で⼀一般化されたアルゴリズムには、⼤大量量データに対して特定の操作・演算を
繰り返し⾏行行わなければならないものがある
リアルタイム分析の要望
Ÿ 予め対象データを決めておくことはできないので、事実上の全件処理理
分析対象のデータが⾮非常に多い、処理理が遅い
データベースからの抽出、分析サーバへの転送が⼤大変
⼤大量量データを効率率率的に処理理する⼿手法がわからない
- 7. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 7
High Performance Data Analysis(HPDA)とは
⾼高性能なコンピューティングリソースを活⽤用したビッグデータの分析
⼤大量量データのモデリングやシミュレーションを扱う
現在のアプローチ
Ÿ 網羅羅的なデータ収集(センサー、レーダー、画像、etc)
Ÿ 全件分析によるモデリング&シミュレーション
Ÿ 予測の⾓角度度向上、予測分野の拡⼤大、局所的な予
測
従来のアプローチ
Ÿ 限定的なデータ収集
Ÿ サンプリングに基づいたモデル
Ÿ 全体、他地域への援⽤用
- 8. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 8
High Performance Data Analysisプラットホームとしての
SAP HANA on HP Superdoom X,
スケールアップアーキテクチャ
単⼀一かつ広⼤大なメモリー空間
⾼高度度な分析ロジックを備えたインメモリーデータベース
HP Superdoom XSAP HANA
SAP
HANA
DB サーバ DB志向のロジック
テキストマイニング
予測分析
SQL Scripts
R統合
多次元分析
XS サービス
(Web Server)
アプリケーションロジック
ODataJava Script
非構造化データ ビジネス関数
- 9. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 9
High Performance Data Analysis(HPDA)への取り組み
伊藤忠テクノソリューションズ株式会社
直近の取り組み
① 電⼒力力系 スマートメータ分析
電⼒力力使⽤用量量のデータ集計と時系列列分析
② ⾦金金融系 不不正検知(Suspicious Activity)
グラフマイニングを利利⽤用した⼝口座のクラスタリング
③ ダイレクトマーケティング
⾦金金融、電⼒力力のダイレクトマーケティング(アソシエーション、 Naïve Bayes )
- 11. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 11
SAP HANAとは?
Ÿ 処理理エンジン
– SQLエンジン
– カラムストアエンジン
– ローストアエンジン
– カルキュレーションエンジン
– グラフエンジン
– スクリプトエンジン
Ÿ アプリケーション開発機能
– SQLScript
– インフォメーションビュー
– テキスト分析/サーチ/マイニング
– 予測分析ライブラリ
– XSサービス
– 位置情報サービス
– ディシジョンテーブル
Ÿ データストア
– カラムストア
– ローストア
– エクステンディッド・ストレージ
– フレキシブルテーブル
Ÿ 拡張インターフェース
– AFL
– サーバーサイドJavaScript
– Odataサービス
Ÿ その他
– 計画エンジン
– SDA
– SDI、SDQ
– Smart Streaming
インメモリーデータベースを中核とし、その性能をアプリ
ケーションレベルで享受するためのプラットホーム
SAP
HANA
DB サーバ DB志向のロジック
テキストマイニング
予測分析
SQL Scripts
R統合
多次元分析
XS サービス
(Web Server)
アプリケーションロジック
ODataJava Script
非構造化データ ビジネス関数
*⼀一部リリース前の機能も含みます。
- 12. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 12
SAP HANAの特徴
シングルデータイメージ
SAP HANA
データの
発生
データの
情報化
1つのデータセットによる運用
バッチ、ETLの廃止
アプリケーションロジック
プッシュダウン
リアルタイムアプリケーションのためのプラットホーム
UI
レイヤー
AP
レイヤー
DB
レイヤー
SAP
HANA
プレゼンテーション プレゼンテーション
メインコントロール
ビジネスロジック
メインコントロール
ビジネスロジック
計算ロジック
データ
計算ロジック
データ
転送
負荷
処理
負荷
従来 HANA
- 14. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 14
AFL(Application Function Library)
SAP HANAのC++プログラミングによる拡張機能
Application Function:SAPが提供するC++で開発された関数群(SDKあり)
AFL:AFunctionをラッパープロシージャ経由で呼び出し。結果はIMDBへ
SQLScript
Application Function(C++)
インメモリーデータベース
パラメータ・テーブル
AFLフレームワーク
HANA Client
AFL
モデラー
HANA
Studio
SAP HANA
- 15. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 15
Pridictive Analysis Library(PAL)
予測分析ライブラリ
Ÿ バスケット分析の例例
– HANAは60倍の性能
o 8000万件の売上明細データ
o 突合>ソート>評価
Predictive Analysis Library
§ SAP HANAに組み込まれた予測分析関数群
§ クラスタリング、分類、関連性、時系列列、加重
平均等の予測分析関数群の機能を組み込み
§ 55アルゴリズムサポート(SPS09)
Predictive Analysis Library の価値
§ 全件対象分析のニーズへの対応
§ ダイレクトマーケティング
§ 不不正検知
§ 全件操作のアルゴリズム
§ リアルタイム分析
§ 短期間でのアプリケーション開発を提供し、投
資に対する迅速なリターンを提供
§ ⼤大規模メモリ並列列処理理を活⽤用した優れた性能を
提供
§ バスケット分析で60倍のパフォーマンス
§ 外部の分析系との相互運⽤用が可能(PMML)
HANAの
In DB Analytics
伝統的な
3層型分析システム
- 16. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 16
PALでサポートする関数群(SPS09)
Clustering
(9)
Affinity Propagation
Agglomerate Hierarchical Clustering
Anomaly Detection
DBSCAN
K-Means
K-Medians
K-Medoids
Self-Organizing Maps
Sight Silhouette
Classification
(9)
Back Propagation Neural Network
C4.5 Decision Tree
CART Decision Tree
CHAID Decision Tree
KNN
Multi-Class Logic Regression
Navie Bays
Predict with Tree Model
Support Vector Machine
Regression
(5)
Bi_Variable Geometric Regression
Bi_Variable Natural Logarithmatic
Regression
Exponential Regression
Multi Linear Regression
Polynominal Regression
Association
(3)
Apriori
FP-Growth
K-Optimal Rule Discovery
Time Series
(8)
ARIMA
Brown Exponential Smoothing
Croston’s Method
Forecast Accuracy Measures
Linear Regression with Damped Trend
and Seasonal Adjust
Single Exponential Smoothing
Double Exponential Smoothing
TripleExponential Smoothing
- 17. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 17
PALでサポートするアルゴリズム(SPS09)
Preprocessing
(10)
Binning
Convert Category Type to Binary Vector
Inter_Quartile Range Test
Partition
Principal Commponent Analysis(PCA)
Random Distribution Sampling
Sampling
Scailing Range
Substitute Missing Values
Variance Test
Statistics
(8)
Chi-Squarted Test for Fitness
Chi-Squarted Test for Independent
Cumulative Distribution Function
Distribution Fitting
Multivariate Statistics
Quantile Function
Univariate Statistics
Variance Equal Test
Social
Network
Analysis(1)
Link Predication
Miscellaneous
(2)
ABC Analysis
Weighted Score Table
- 18. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 18
K-‐‑‒Means(K平均法)の例例
K-‐‑‒Means
Ÿ クラスター分析の⼀一種
Ÿ n個の観測点またはレコードをk個のクラスターに分割し、
この際、それぞれの観測点は直近の中⼼心値のクラスター
に属する
マーケティングまたはCRMで
Ÿ 顧客データを扱い、顧客の振る舞いを追跡することによ
り、戦略略的にビジネス上の主導的ポジションを作ろうと
する
Ÿ ⼈人⼝口統計学、顧客の⾏行行動、顧客の収益性、リスクの尺度度、
および顧客, または保持確率率率の寿命値などの変数に基づ
いて顧客をセグメント分割することができる
実際のアルゴリズム:以下の2ステップを交互に繰り返す
Ÿ アサインステップ:各観測点を最も近い平均値を持つク
ラスターに割り当てる
Ÿ 更更新ステップ:新しい平均値を計算し各クラスターの観
測点の中⼼心とする http://tech.nitoyon.com/ja/blog/2013/11/07/k-‐‑‒means/
- 19. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 19
PALデモンストレーション
K-‐‑‒Means(クラスター分析)
- 20. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 20
サンプルSQL
パラメータ定義、ラッパープロシージャ作成、実⾏行行
SET SCHEMA PAL;
-‐‑‒-‐‑‒ PAL setupCREATE TYPE PAL_̲T_̲KM_̲DATA AS TABLE (ID INTEGER, LIFESPEND DOUBLE, NEWSPEND DOUBLE,
INCOME DOUBLE, LOYALTY DOUBLE);
CREATE TYPE PAL_̲T_̲KM_̲PARAMS AS TABLE (NAME VARCHAR(60), INTARGS INTEGER, DOUBLEARGS DOUBLE,
STRINGARGS VARCHAR (100));
CREATE TYPE PAL_̲T_̲KM_̲RESULTS AS TABLE (ID INTEGER, CENTER_̲ID INTEGER, DISTANCE DOUBLE);
CREATE TYPE PAL_̲T_̲KM_̲CENTERS AS TABLE (CENTER_̲ID INTEGER, LIFESPEND DOUBLE, NEWSPEND DOUBLE,
INCOME DOUBLE, LOYALTY DOUBLE);
CREATE COLUMN TABLE PAL_̲KM_̲SIGNATURE (ID INTEGER, TYPENAME VARCHAR(100), DIRECTION VARCHAR(100));
INSERT INTO PAL_̲KM_̲SIGNATURE VALUES (1, 'PAL.PAL_̲T_̲KM_̲DATA', 'in');
INSERT INTO PAL_̲KM_̲SIGNATURE VALUES (2, 'PAL.PAL_̲T_̲KM_̲PARAMS', 'in');
INSERT INTO PAL_̲KM_̲SIGNATURE VALUES (3, 'PAL.PAL_̲T_̲KM_̲RESULTS', 'out');
INSERT INTO PAL_̲KM_̲SIGNATURE VALUES (4, 'PAL.PAL_̲T_̲KM_̲CENTERS', 'out');
CALL SYSTEM.AFL_̲WRAPPER_̲GENERATOR ('PAL_̲KM', 'AFLPAL', 'KMEANS', PAL_̲KM_̲SIGNATURE);
-‐‑‒-‐‑‒ app setup
CREATE COLUMN TABLE KM_̲PARAMS LIKE PAL_̲T_̲KM_̲PARAMS;
CREATE COLUMN TABLE KM_̲RESULTS LIKE PAL_̲T_̲KM_̲RESULTS;
CREATE COLUMN TABLE KM_̲CENTERS LIKE PAL_̲T_̲KM_̲CENTERS;
INSERT INTO KM_̲PARAMS VALUES ('THREAD_̲NUMBER', 2, null, null);
INSERT INTO KM_̲PARAMS VALUES ('GROUP_̲NUMBER', 3, null, null);
INSERT INTO KM_̲PARAMS VALUES ('INIT_̲TYPE', 1, null, null);
INSERT INTO KM_̲PARAMS VALUES ('DISTANCE_̲LEVEL', 2, null, null);
INSERT INTO KM_̲PARAMS VALUES ('MAX_̲ITERATION', 100, null, null);
INSERT INTO KM_̲PARAMS VALUES ('NORMALIZATION', 0, null, null);
INSERT INTO KM_̲PARAMS VALUES ('EXIT_̲THRESHOLD', null, 0.0001, null);
-‐‑‒-‐‑‒ app runtime
TRUNCATE TABLE KM_̲RESULTS;
TRUNCATE TABLE KM_̲CENTERS;
CALL _̲SYS_̲AFL.PAL_̲KM (V_̲KM_̲DATA, KM_̲PARAMS, KM_̲RESULTS, KM_̲CENTERS) WITH OVERVIEW;
- 21. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 21
High Performance Data Analysis
・⾦金金融系
リアルタイム不不正検知
ソリューション
・電⼒力力系
スマートメーター分析
- 23. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 23
検証環境&内容
サーバー
Ÿ HP ConvergedSystem 900 for SAP HANA
– Xeon E7-2890 v2 (2.8GHz, 15core) x 16CPU(240core)
– 12TBメモリ
データベース
Ÿ SAP HANA SPS08 Enterprise Edition
– アロケーションメモリー(全体) 約12TB
– アロケーションメモリー(データ) 約5TB *最⼤大使⽤用時の値
検証⽅方法
Ÿ 検証シナリオをSQLScriptまたは、PALで実装し実⾏行行時間を計測
- 24. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 24
性能検証プログラム
24
性能検証プログラム
説明
利用するHANAの機能
1
不正検知1
例外的なトランザクションの検知
SQL
2
不正検知2
疑わしい口座と関連のある口座の検索
SQL
3
クラスタリング(K-means)
サンプルデータ(混合正規分布)のクラスタリング
PAL: K-means 正規化 あり/なし
4
クラス別け(KNN)
サンプルデータ(混合正規分布)のクラス別け
PAL: K-means 正規化なし, KNN
5
メータデータ集計
メータデータの顧客別、月別、曜日別集計
SQL
6
メータデータK-means
集計後メータデータのクラスタリング
データを予め正規化しておき、K-meansの正規
化は行わない
SQL, PAL:K-means 正規化なし
7
メータデータKNN
集計後メータデータのクラスタリング
教師データは、K-meansで作成する。
SQL, PAL: K-means 正規化なし,
KNN
8
メータデータ時系列分析
ARIMA, ARIMAX
SQL, PAL: ARIMA
9
メータデータ ベースロード
チェック
ベースロードの大きなユーザを探す。
SQL
- 25. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 25
不不正検知1
25
データ種類
件数
口座
5千万件
カレントトランザクション
5億2千万5千件
各口座ごとに10件
疑わしい口座を作るためのトランザクション2千万5
千件
トランザクション履歴
5億件
各口座ごとに10件
疑わしい口座
条件1
2千万件
条件1にあった2千万件のトランザクションを作る。
条件1 and 条件2
500件
条件1と2にあった口座を作るために1口座あたり
10件のトランザクションを作る。
テストデータ
カレント・トランザクション(TRAN_CRRNT)
トランザクション履歴(TRAN_HIST)
口座番号(DBTR_ID)
相手先口座番号(CDTR_ID)
口座番号(DBTR_ID)
相手先口座番号(CDTR_ID)
金額(AMOUNT)
トランザクション番号
0..1
n
口座 (ACCOUNT)
口座番号 (ID)
疑わしさ(初期値 0 ) (RED_FLAG)
n
1
1
n
テーブルスキーマ
- 26. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 26
不正検知1
Suspicious Activityの発見
トランザクションの
履歴から作成した
口座間の
関連グラフ
口座x
口座b
口座a
口座c
トランザクション①
口座y
トランザクション②
トランザクション③
トランザクション⑥
200万円
43.5万円
46.5万円
47.3万円
44.2万円
18.5万円
ATMからの引出
26
条件
1
今まで関連のなかった口座からの高額な
入金トランザクション履歴の相手先口座番
号に無い口座からの入金を探す。
条件
2
条件1のトランザクションにより入金された
口座のうち、短期間の出金の合計が高額
な口座を探す。
トランザクション④
トランザクション⑤
トランザクションの
履歴から作成した
口座間の
関連グラフ
HPDA処理時間(秒)
Overall time
Server time
18.926
11.420
- 27. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 27
不正検知2
検索方法
27
2015/4/1
口座番号
相手先口座番号
口座番号
RED_FLAG (9)
口座
トランザクション履歴
口座番号
相手先口座番号
口座番号
RED_FLAG (9)
口座
トランザクション履歴
疑わしい口座 (BLACK_LIST)
口座番号
口座番号
RED_FLAG (10)
口座 (ACCOUNT)
口座番号
RED_FLAG (10)
口座
口座番号
RED_FLAG (10)
口座
疑わしい口座テーブルにある口座番号の口座データ
のRED_FLAG値を10にする。
RED_FLAG 10の口座と関連のある口座の
RED_FLAGを 9にする。(既に9以上になっているも
のは更新しない)
カレント・トランザクション(TRAN_CRRNT)
口座番号(DBTR_ID)
相手先口座番号 (CDTR_ID)
トランザクション番号
口座 (ACCOUNT)
口座番号 (ACC_ID)
疑わしさ (RED_FLAG)
Suspicious Accountの発見
- 28. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 28
不正検知2
口座x
口座b
口座a
口座c
トランザクション①
口座d
トランザクション②
トランザクション③
トランザクション④
トランザクション⑤
トランザクション⑥
口座e
口座h
口座f
口座g
トランザクション⑦
トランザクション⑧
トランザクションを解析して疑わしい口座に関連のある口座を探す。
疑わしい口座(下図の口座X)からの距離を「口座の疑わしい度合」としてred flagの値を更新する。
28
2015/4/1
HPDA処理時間(秒)
Overall time
Server time
2.927
0.423
検索方法
- 29. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 29
48変数3億5千万件のクラスタリングを70分で実⾏行行
スマートメーターのロードカーブに対する分析
• メータデータをロードカーブの形で20個のクラスタに分けて、それぞれのクラスに属しているデータの属性を
調べる。
• データの属性に偏りのあるクラスタを見つける。
月
(1~12)
地域,ファミリータイプ(1~6)
曜日
(月~日)
曜日ごとの偏りは少ない
クラスタ1
クラスタ1
クラスタ1
クラスタ20
ロードカーブ (最大、中央値、最少)
地域3の12~2
月に多い地域
3(Desert
Single Family )
の顧客は、12~
2月の20時頃の
電力消費が多い
クラスタ20
クラスタ20
- 30. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 30
検証結果考察
不不正検知
Ÿ 不不正送⾦金金のサーチと不不正⼝口座マーキングの参照&更更新が混在するトランザクショ
ン
Ÿ カラムストア専⽤用のトランザクション管理理、更更新⽅方式、排他制御
Ÿ 並列列処理理における排他制御
– HANA:1プロセス複数スレッド、単⼀一メモリ空間
– 従来のDBMS:複数プロセスまたは、1プロセス複数スレッド、シェアードメモリ
– WCHANで調べるとシェアードメモリへのアクセスの際に排他制御で待ちになっているよ
うに⾒見見える。
スマートメータ分析
Ÿ SQLによるジョイン、集計よりも、予測分析アルゴリズム内のデータ操作、演算
の出現頻度度が遙かに⾼高い
Ÿ 分析アルゴリズムが、C++⾔言語によりハードウェア(Intel Xeon)に最適化
Ÿ スケールアップアーキテクチャによる広⼤大なメモリ空間
- 31. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 31
サマリー
新しい分析のニーズ
Ÿ ダイレクト・マーケティング
Ÿ 不不正検知
Ÿ 全件操作・計算が必要なアルゴリズム
Ÿ リアルタイム分析の要望
新しいプラットホーム
Ÿ スケールアップアーキテクチャ
Ÿ 単⼀一かつ広⼤大なメモリー空間
Ÿ ⾼高度度な分析ロジックを内蔵したインメモリーデータベース
High Performance Data Analyticsプラットホーム
Ÿ SAP HANA
Ÿ HP Superdoom X
Ÿ HPC活⽤用を前提とした新しい分析⽅方法に関する知⾒見見
- 32. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 32
High Performance Data Analysis
・⾦金金融系
リアルタイム不不正検知
ソリューション
・電⼒力力系
スマートメーター分析
- 33. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 33
明⽇日は、HWテクノロジーの視点でお話しします
6⽉月12⽇日 12:30-‐‑‒13:20、Room D
- 34. © 2015 SAP SE or an SAP affiliate company. All rights reserved.
花⽊木敏久
SAPジャパン株式会社
toshihisa.hanaki@sap.com