Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
杉下 誠
SAP Innovation Center Silicon Valley
2015年3月29日
Developers.IO 2015
SAP HANAは
単なるインメモリーデータベースじゃなくて
(賢い)アプリの開発・実行プラットフォ...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 2Public
簡単に自己紹介:SAP入社後、約16年
購買・物流系
アプリケーション
コンサルタント
ミドルウェア...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 3Public
目次
SAP HANA 技術おさらい
HANA XSでアプリを動かす
様々なエンジンや機能で、“賢い...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 4Public
カラム&ロー
ストア
+
最小限の
プロジェクション
パーティショ
ニング
シングル・
マルチテナン...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 5Public
SAP HANA
イノベーションを起こすプラットフォーム
Supports
any Device
A...
HANA XS Engineでアプリを動か
す
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 7Public
HANA XS はHANAのアプリケーションサーバ機能です
フロントエンド技術
 http/s
...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 8Public
サーバサイドJavaScriptが動く
var conn = $.hdb.getConnection...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 9Public
定義ファイル1つでODataベースのRESTサービスがつくれる
CRUD対応
service {
"...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 10Public
ODataとは?
ODataはRESTベースのWebプロ
トコル
• HTTP上に構築
• 軽量
...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 11Public
認証や権限設定も可能
現在サポートされている認証方式
• フォーム認証
• ベーシック認証
• X...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 12Public
その他HANA XS の機能
SMTPで外部メール送信
同期/非同期で外部サービスへHTTPアクセ...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 13Public
UIは基本クライアントサイドフレームワークで
HANA XS自体が普通のWebサーバとして動くので...
様々なエンジンや機能で、“賢いアプリ“を
1.HANA内で統計処理機能を利用
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 15Public
予測分析
PAL および 統計言語”R” 統合機能
予測分析のための、
幅広い手法に対応した統計言...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 16Public
SAP HANA インメモリ予測解析
Predictive Analysis Library (P...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 17Public
Application Function Modeler
アプリケーションへ高度な予測解析機能を実...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 18Public
R連携例
Join
OP
ROP
OLAP
OP
Calc. Engine
R External
...
様々なエンジンや機能で、“賢いアプリ“を
2.地理空間情報エンジン
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 20Public
地理空間機能とは?
 地理空間の情報をデーベースの中で直接保存、処理、
生成、共有、取得
 地...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 21Public
SAP HANA地理情報システムのエコシステム
データソース
データ統合ツール Load tool...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 22Public
コーディングサンプル
create column table geo_points( point ...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 23Public
Spatial Demo
x
y
(2,2)
(6,3)
(4.4)
(6,6)
(0,0)
(2...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 24Public
Spatial Demo
(1,1) (5,1)
(5,5)(1.5)
x
y
(2,2)
(6,...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 25Public
Spatial Demo
(1,1) (5,1)
(1.5)
x
y
(2,2)
(6,3)
(4...
様々なエンジンや機能で、“賢いアプリ“を
3.系列データ
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 27Public
系列データとは?
金融
予測保全
ユーティリティ小売り
エネルギー管理
系列データとはデータの点の...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 28Public
自然なSQLで表現すると「背が高くて短いテーブル」になるが・・
単純に系列データをRDBMSで表現...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 29Public
系列テーブルの作成:例
CREATE COLUMN TABLE DailyWeather(
sta...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 30Public
系列データサービス
圧縮効率の高いタイムスタンプ辞書アルゴリズム
通常の辞書圧縮方式 タイムスタン...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 31Public
例:系列データテーブルと普通のカラムテーブル
系列データ定義
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 32Public
集約と分解例
縦方向の集約
SELECT time, SUM(solar_generation),...
様々なエンジンや機能で、“賢いアプリ“を
4.グラフエンジン
(複雑に関係しあっているデータの取り扱い)
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 34Public
グラフ理論に基づいたデータベースとは?
Key capabilities delivered in...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 35Public
使用例:ロット追跡
2015
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 36Public
グラフデータの表現方法
リレーションナルモデルvs.グラフプロパティモデル
“Herman” “H...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 37Public
SELECT DISTINCT V.id
FROM WS.EDGES AS A, WS.EDGES...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 38Public
Demo sample
様々なエンジンや機能で、“賢いアプリ“を
テキスト系処理
(テキスト検索、テキスト分析、
テキストマイニング)
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 40Public
関連性ランキング
SELECT SCORE() AS S, CAMP_NO, DEFECT FRO...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 41Public
SAP HANA
テキスト分析インデックスを付けて形態素解析
テキスト分析の場合、ほかのインデック...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 42Public
フルテキストインデックス
CREATE FULLTEXT INDEX [INDEX NAME] O...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 43Public
テキストマイニング機能(SP09時点では英語のみ)
テキストマインングはドキュメントレベルで動き、...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 44Public
テキストマイニング ランキング機能
検索元/検索先 用語 文書
用語
関連用語
提案用語
関連文書...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 45Public
New Text Mining – Queries
SAP HANA ではテキストマイニ
ングエン...
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 46Public
まとめ
• SAP HANAは高速インメモリーデータベースを超えて、速
く、賢いアプリを作るための...
SAP HANAを中心とした
技術者向けセッション
次世代SAP Platform製品の
Hands-onセッション
会場:ベルサール神田
4/6(月)申込サイトオープン
予定
© 2015 SAP SE or an SAP affiliate...
Upcoming SlideShare
Loading in …5
×

SAP HANAは 単なるインメモリーデータベースじゃなくて (賢い)アプリの開発・実行プラットフォーム

10,088 views

Published on

クラスメソッド社のイベントDevelopers IOでのプレセンテーション内容です。

セッション内容
SAP HANAは、業界をリードするインメモリーデータベースとしてその知名度を高めつつありますが、その機能や可能性は単なる「速いRDBMS」には止まりません。 データの処理では予測系アルゴリズム、地理空間情報エンジン、テキスト検索、テキスト処理、グラフエンジン等様々な機能が存在します。 さらに、同梱されるアプリケーションサーバ機能HANA XS上にWebアプリケーションを直接でデプロイすることができHANAだけでアプリケーションを動かすことができます。 XSでは定義ファイルを1つ足すだけでテーブルやビューからOdata形式のRESTサービスを作成したり、サーバーサイドJavascriptを動かすこともできます。 本セッションでSAP HANAの新たな可能性を体験してみてください。*

Published in: Software
  • Be the first to comment

SAP HANAは 単なるインメモリーデータベースじゃなくて (賢い)アプリの開発・実行プラットフォーム

  1. 1. 杉下 誠 SAP Innovation Center Silicon Valley 2015年3月29日 Developers.IO 2015 SAP HANAは 単なるインメモリーデータベースじゃなくて (賢い)アプリの開発・実行プラットフォーム
  2. 2. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 2Public 簡単に自己紹介:SAP入社後、約16年 購買・物流系 アプリケーション コンサルタント ミドルウェア系技術者 ESB/Portal/BPM/MEAP等 HANA データベース 技術者 UI エンジニア アプリ⇒ミドルウェア⇒DBとレイヤーが下へ。 最近はアメリカの開発チーム所属でHANAアプリの画面をJSで作るお仕事がメイン。 フルスタックエンジニア目指しています。 名前:杉下 誠 経歴:
  3. 3. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 3Public 目次 SAP HANA 技術おさらい HANA XSでアプリを動かす 様々なエンジンや機能で、“賢いアプリ“を 1. HANA内で統計処理機能を利用 2. 地理空間エンジン 3. グラフエンジン 4. 系列データ 5. テキスト系処理 まとめ
  4. 4. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 4Public カラム&ロー ストア + 最小限の プロジェクション パーティショ ニング シングル・ マルチテナント SQLインターフェース カラム・ローストア レイヤの削減 x マルチコア/ 並列化 ダイナミックな 拡張性 + + + アクティブ/パッシブ & データエイジング PA バルクロード デルタ領域へ のインサート + + + + T テキスト検索 マップ・リデュース グループキー 過去データの分析 t ノード内 マルチスレッド 化 SQL 集約不要 インメモリ圧縮 インメモリアプリ SAP HANA 基礎技術おさらい
  5. 5. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 5Public SAP HANA イノベーションを起こすプラットフォーム Supports any Device Any Apps Any App Server SAP Business Suite and BW ABAP App Server JSONR Open Connectivity MDXSQL Other AppsLocationsReal-timeHADOOPMachineUnstructuredTransaction SAP HANA Platform SQL, SQLScript, JavaScript Integration Services Spatial Business Function Library Search Text Mining Predictive Analysis Library Database Services Stored Procedure & Data Models Planning Engine Rules Engine Application & UI Services SAP HANA Platform は データベースのデータ処 理、アプリケーション開 発プラットフォーム、予 測のライブラリ等を含み、 テキストや空間情報の処 理など様々なものをリア ルタイムで処理包含し、IT 環境をシンプルにします。
  6. 6. HANA XS Engineでアプリを動か す
  7. 7. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 7Public HANA XS はHANAのアプリケーションサーバ機能です フロントエンド技術  http/s  HTML5 / SAPUI5  クライアントサイド JavaScript 制御フロー技術  OData  サーバサイドJavaScript  XMLA データ処理技術  SQL / SqlScript  Calculation Engine関数  Application Function Library (AFL) 画面描画ロジック 制御フローロジック データ Client:ブラウザかモバイルアプリ SAP HANA XS 演算ロジック
  8. 8. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 8Public サーバサイドJavaScriptが動く var conn = $.hdb.getConnection(); var query = 'SELECT * FROM "sap.hana.democontent.epmNext.data::EPM.Purchase.Item"' + ' WHERE "PRODUCT.PRODUCTID" = ?'; var rs = conn.executeQuery(query,productId); var body = ''; for(var i = 0; i < rs.length; i++){ if(rs[i]["GROSSAMOUNT"] >= 500){ body += rs[i]["HEADER.PURCHASEORDERID"] + "¥t" + rs[i]["PURCHASEORDERITEM"] + "¥t" + rs[i]["PRODUCT.PRODUCTID"] + "¥t" + rs[i]["GROSSAMOUNT"] + "¥n"; } } $.response.setBody(body); (SP09でのAPI簡素化後の文法)
  9. 9. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 9Public 定義ファイル1つでODataベースのRESTサービスがつくれる CRUD対応 service { "hello.odata::otable" as “Entries”; } Studio-based editor • “.xsodata” ファイルを定義し、HANAのビュー もしくはテーブルを指定 • テーブルもしくはViewへOdataサービスとして アクセス可能 SAPUI5 UIS XSJS XSODATA SINA XSXMLA CDS/HDBDD SQLScript SQL Views AFL HDBTable HDBRole JavaScript等で独自ロジック追加も可能
  10. 10. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 10Public ODataとは? ODataはRESTベースのWebプロ トコル • HTTP上に構築 • 軽量 • エコシステムでの幅広い適用 • SAP、Microsoft、IBM等が推進 • backend と frontendの分離 • URIによるアクセス • マルチチャネル XML, JSON HTTP Atom OData OData for SAP
  11. 11. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 11Public 認証や権限設定も可能 現在サポートされている認証方式 • フォーム認証 • ベーシック認証 • X.509認証 • SAML • Kerberos認証 • Logon/Assertion Ticket(SAP技術)
  12. 12. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 12Public その他HANA XS の機能 SMTPで外部メール送信 同期/非同期で外部サービスへHTTPアクセス ZIPやGZIP のサポート(読み書き双方) アンチウィルス ジョブスケジューラー 暗号化・ハッシュ化 等
  13. 13. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 13Public UIは基本クライアントサイドフレームワークで HANA XS自体が普通のWebサーバとして動くのでhtml/css/jsをそのまま置くこと は可能です。サーバサイドUIフレームワークは存在しないので、XSJSベースもし くはOdataのRESTサービスを使ったSPAを作るのが一般的です。 SAP UI5での画面作成例
  14. 14. 様々なエンジンや機能で、“賢いアプリ“を 1.HANA内で統計処理機能を利用
  15. 15. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 15Public 予測分析 PAL および 統計言語”R” 統合機能 予測分析のための、 幅広い手法に対応した統計言語Rの活用とHANAネイティブPAL機能 未知の収益性向上機会の発見、高付加価値顧客の維持、関連度 が高くタイムリーなオファー、クロスセル・アップセル、不正 検知、顧客接点の改善…  拡張された予測分析アルゴリズムライブラリ  ネイティブ予測アルゴリズムの拡張  強力かつ高速なデータベース内処理  迅速な実装  統計言語”R”統合機能  オープンソース統計言語R(>3500以上の機能)をHANAインメモリ DBと連携  R統合機能により高速な並列化コネクタを提供  RスクリプトをHANA CalculationViewのSQLScriptに埋め込み実 行 Y X Z
  16. 16. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 16Public SAP HANA インメモリ予測解析 Predictive Analysis Library (PAL) – アルゴリズム一覧 クラスター分析  K-Means  コホーネン自己組織化マップ  Affinity PropSEation  階層クラスタリング  K-Medoid クラスタリング  K-Medians *SPS9  ABC分析  DBSCAN 分類  決定木 C4.5  決定木 CHAID  決定木 CART  サポートベクターマシーン  ニューラルネットワーク *SPS9  線形回帰  多項回帰  指数回帰  Bi-Variate Geometric Regression  2項ロジスティック回帰分析  ロジスティック回帰  単純ベイズ 外れ値検出  Inter-Quartile Range Test (Tukey’s Test)  分散検定  外れ値検出 データ分析  Common Neighbors; Jaccard’s Coefficient; Adamic/Adar; Katzβ データ加工  サンプリング  ビニング  スケーリング  欠損値の補完  ランダム分散サンプリング その他  重み付きスコアテーブル アソシエーション分析  Apriori  Apriori Lite  FP-Growth  KORD *SPS9 時系列予測  単一指数平滑化  二重指数平滑化  三重指数平滑化  ARIMA  ARIMA-X *SPS9
  17. 17. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 17Public Application Function Modeler アプリケーションへ高度な予測解析機能を実装するための グラフィカルツール  HANA Studioに統合された拡張され たグラフィカルデータフローモデリ ングおよびプログラミングツール  マルチステップのアプリケーション 機能に対応  移送可能なフローグラフのデザイン タイムモデル(HANAリポジトリ内に 格納)  PAF, BFL,カスタムAFL,Rと統合  SQLScriptから実行可能
  18. 18. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 18Public R連携例 Join OP ROP OLAP OP Calc. Engine R External Packages (Forecasting, Parallelism, statistics, etc.) RClient SAP RHANA Package データとR スクリプト 送信 HANA DB Space OpenSource R Space 1 3 HANA DB R Integration Open Source R 2 R scripts実行 R Servから結果 取得 シナリオ  Rをデータマイニング演算エンジンとして利用  アプリケーション開発者は Rでプロシージャを定義可能 CREATE FUNCTION LR( IN input1 SUCC_PREC_TYPE, OUT output0 R_COEF_TYPE) LANGUAGE RLANG AS''' CHANGE_FREQ<-input1$CHANGE_FREQ; SUCC_PREC<-input1$SUCC_PREC; coefs<-coef(glm(SUCC_PREC ~ CHANGE_FREQ, family = poisson )); INTERCEPT<-coefs["(Intercept)"]; CHANGEFREQ<-coefs["CHANGE_FREQ"]; result<- as.data.frame(cbind(INTERCEPT,CHANGEFREQ)) '''; TRUNCATE TABLE r_coef_tab; CALL LR(SUCC_PREC_tab,r_coef_tab ); SELECT * FROM r_coef_tab; HANAのコード例
  19. 19. 様々なエンジンや機能で、“賢いアプリ“を 2.地理空間情報エンジン
  20. 20. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 20Public 地理空間機能とは?  地理空間の情報をデーベースの中で直接保存、処理、 生成、共有、取得  地理ベクトルデータを各種解析関数で処理: – 計測– 距離、 曲面、面積、 ペリメーター(周囲の長さ), 体積 – 関係性– 交差点、含まれる、内部にある、隣接する、接している – 操作 – バッファ、変換 – 属性– 種類、点の数  様々な2次元座標系でストア、変換  べクトルデータ処理  ISO/IEC 13249-3 standardと Open Geospatial Consortium (1999 SQL/MM standard)の実装 point line polygon Multi-polygon
  21. 21. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 21Public SAP HANA地理情報システムのエコシステム データソース データ統合ツール Load tools:  SAP Data Services  SAP Event Stream Processor Types & Functions:  Point  Linestring  Polygon  SRID metadata  Spatial function library  Clustering  Spatial Joins Engines:  Indexserver  Calc  Spatial  Attribute  XS Analytics GISVisualization インターフェースサービス SQL / Calculation Models SAP Info Access (HTML5) Geo-Services:  Geoservices  Geocontent odbc, jdbc, XS (InA, geoJSON, API, ODATA) Views:  Analytical  Attribute  Calculation Geospatial Import/Export:  Shapefile, csv, binary  WKT / WKB Support データアクセス SAP HANA (OGC Compliant) Applications SAP Data Spatial DataNon-SAP Data Real-Time Data Mobility GIS
  22. 22. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 22Public コーディングサンプル create column table geo_points( point ST_POINT); insert into geo_points values ( new ST_POINT(0.0, 0.0) ); insert into geo_points values ( new ST_POINT( 'POINT(1.0 1.0)' )); select point.ST_X(), point.ST_Y() from geo_points; select point.ST_AsText(), point.ST_AsBinary(), point.ST_AsGeoJSON() from geo_points; 多角形の中に含む点を抽出 select point.ST_X(), point.ST_Y() from geo_points where point.ST_Within( 'POLYGON((0.0 0.0, 2.0 0.0, 2.0 2.0, 0.0 2.0, 0.0 0.0))' ) = 1
  23. 23. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 23Public Spatial Demo x y (2,2) (6,3) (4.4) (6,6) (0,0) (2 , 3) (3,3) (1.5 , 4)
  24. 24. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 24Public Spatial Demo (1,1) (5,1) (5,5)(1.5) x y (2,2) (6,3) (4.4) (6,6) (0,0) (2 , 3) (3,3) (1.5 , 4)
  25. 25. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 25Public Spatial Demo (1,1) (5,1) (1.5) x y (2,2) (6,3) (4.4) (6,6) (0,0) (2 , 3) (3,3) (1.5 , 4)
  26. 26. 様々なエンジンや機能で、“賢いアプリ“を 3.系列データ
  27. 27. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 27Public 系列データとは? 金融 予測保全 ユーティリティ小売り エネルギー管理 系列データとはデータの点の集合体で、一般的な例としては一定期間に起きた連続 的な計測データ(センサーのデータや株価情報等)が挙げられます。
  28. 28. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 28Public 自然なSQLで表現すると「背が高くて短いテーブル」になるが・・ 単純に系列データをRDBMSで表現するのは意外と難しい • データ保存の無駄が大きい • 簡単な処理が意外と表現しずらい(線形近似を表してみる等) • パフォーマンスが特殊要件を満たせない(タイムスタンプ情報を年、月、日でgroup byしたい等) SAP HANAのカラムテーブル構造が拡張され、系列データを自然な表現の まま効率的に処理できるようになりました。 Time 09:00 09:15 09:30 09:45 10:00 … Profile 1 KWh 5 3 1 5 7 … °C 20 21 21 22 23 … … KWh … … … … … … °C … … … … … … Profile N KWh null 2 1 4 9999 … °C null 11 12 9 14 … ProfileI D Tim e KW h °C Profile1 09: 00 5 20 Profile1 09: 15 3 21 Profile1 09: 30 1 21 Profile1 09: 45 5 22 Profile1 10: 00 7 23 … … … … Profile n 09: 15 2 11 Profile n 09: 30 1 12 Profile n 09: 45 4 9 Profile n 10: 00 999 9 14 Profile n 10: 15 14 18
  29. 29. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 29Public 系列テーブルの作成:例 CREATE COLUMN TABLE DailyWeather( station_id varchar(3) not null references WeatherStation, date date not null, maxtemp decimal(3,1), primary key(station_id,date) ) SERIES ( SERIES KEY(station_id) EQUIDISTANT INCREMENT BY 1 DAY MISSING ELEMENTS NOT ALLOWED PERIOD FOR SERIES (date,NULL) ) 系列関連のプロパティはほかの句と組み合わせることも可能 (partitioning、 logging、location等…) Equidistant テーブルは新しい圧縮・保存オプションを利用している
  30. 30. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 30Public 系列データサービス 圧縮効率の高いタイムスタンプ辞書アルゴリズム 通常の辞書圧縮方式 タイムスタンプ辞書圧縮方式
  31. 31. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 31Public 例:系列データテーブルと普通のカラムテーブル 系列データ定義
  32. 32. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 32Public 集約と分解例 縦方向の集約 SELECT time, SUM(solar_generation), SUM(total_consumption) FROM StoreEnergy WHERE store_id in ('Store1', 'Store2', 'Store3') GROUP BY time; 横方向の集約 SELECT station_id, TO_DATE(tsstart) AS date, MAX(temp) AS maxtemp, MIN(temp) AS mintemp, AVG(temp) AS meantemp, SUM(rain) AS totalrain, SUM(snow) AS totalsnow FROM HourlyWeather GROUP BY station_id, TO_DATE(tsstart); 分解 SELECT * FROM SERIES_DISAGGREGATE_SECONDDATE('INTERVAL 5 DAY', 'INTERVAL 24 HOUR', '2000-02-01', '2000-03-05');
  33. 33. 様々なエンジンや機能で、“賢いアプリ“を 4.グラフエンジン (複雑に関係しあっているデータの取り扱い)
  34. 34. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 34Public グラフ理論に基づいたデータベースとは? Key capabilities delivered in SAP HANA graph • 複雑に関係しあっているようなグラフデータを表 現し、またデータ取得を行うことができるデータ ベース • がちがちのスキーマは不要で柔軟にグラフデータ を生成 • グラフ演算の効率的な実行 • 単一もしくは複数のグラフトラバーサル • 頂点間最短距離 • シンプルなアプリデザインと低開発コストを実現 する自然で理解しやすいデータの表現 • ネイティブのグラフ処理の機能 • Find all users who rated “Hamlet” and “Romeo and Juliet” with 5 stars? • Find all books that are in category “Fiction” or sub categories and have been release to DVD?
  35. 35. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 35Public 使用例:ロット追跡 2015
  36. 36. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 36Public グラフデータの表現方法 リレーションナルモデルvs.グラフプロパティモデル “Herman” “Hugo” 頂点 (Vertex) 辺(Edge) age = 68 type = Person weight = 45 頂点のプロパティ (属性) type = Person age = 39 辺のプロパティ (属性) since = 2006/01/24 辺のプロパティ (属性) type = hasFather 2015 関係テーブル 関係の属性 Table A Table B エンティティの プロパティ エンティティの プロパティ 外部キー 外部キー
  37. 37. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 37Public SELECT DISTINCT V.id FROM WS.EDGES AS A, WS.EDGES AS B, WS.EDGES AS C, WS.EDGES AS D, WS. VERTICES AS V WHERE A.source = “A” AND D.target = V.id AND A.type = “b” AND A.target = B.source AND B.target = C.source AND C.target = D.source USE WORKSPACE WS; RESULT result FROM A->b(4,4); GEM Language GEM vs. SQL: Path Traversal GEM SQL USE WORKSPACE WS; RESULT result FROM A->b(1,*); 2015
  38. 38. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 38Public Demo sample
  39. 39. 様々なエンジンや機能で、“賢いアプリ“を テキスト系処理 (テキスト検索、テキスト分析、 テキストマイニング)
  40. 40. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 40Public 関連性ランキング SELECT SCORE() AS S, CAMP_NO, DEFECT FROM TABLE WHERE CONTAINS(DEFECT, 'throttle engine‘, FUZZY(0.7)) ORDER BY S DESC; テキスト検索例 曖昧検索 SELECT CAMP_NO, DEFECT FROM MODELED VIEW WHERE CONTAINS(DEFECT, 'thrtle', FUZZY(0.7));
  41. 41. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 41Public SAP HANA テキスト分析インデックスを付けて形態素解析 テキスト分析の場合、ほかのインデックスと違い別テーブルに自動的に保存されます。 HANA テキスト分析用 インデックス テキスト分析 結果テーブル もとテーブル FulltextIndex 1. ファイルのフォーマット変換 2. トークン化 3. 語幹を認識 4. 言語解析
  42. 42. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 42Public フルテキストインデックス CREATE FULLTEXT INDEX [INDEX NAME] ON [SCHEMA].[TABLE]([COLUMN]) CONFIGURATION '[CONFIGURATION FILE NAME]' TEXT ANALYSIS ON; [CONFIGURATION FILE NAME] refers to pre-defined, standard SAP configuration files. 以下のような設定オプションがSAP HANAに含まれています • LINGANALYSIS_BASIC; LINGANALYSIS_STEMS; LINGANALYSIS_FULL • Text Analysis results: tokens; tokens and stems; tokens, stems, and POS tags • EXTRACTION_CORE • Text Analysis results: predefined entities (cf. appendix), noun groups (concepts) etc. • EXTRACTION_CORE_VOICEOFCUSTOMER • Text Analysis results: EXTRACTION_CORE + sentiment, topics, problems etc. CREATE FULLTEXT INDEX myIndex ON myTable(myColumn) CONFIGURATION 'EXTRACTION_CORE' TEXT ANALYSIS ON;
  43. 43. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 43Public テキストマイニング機能(SP09時点では英語のみ) テキストマインングはドキュメントレベルで動き、ほかのド キュメントと比較して意味的な決定をします。一方テキス トアナリシスは言語解析を文書内の情報を抽出して行いま す。 ベクトル空間モデルに基いた関数  類似文書の特定  文書のキーとなる用語の特定  関連用語の特定  トレーニングコーパスに基づいた新規文書のカテゴライズ シナリオ  特許文書を読むときキーワードのハイライト  問題解決のために過去の似たような事案を確認  新規技術論文をトピック階層に応じて分類 t1 tn d1 d2
  44. 44. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 44Public テキストマイニング ランキング機能 検索元/検索先 用語 文書 用語 関連用語 提案用語 関連文書 文書 関連用語 関連文書、 カテゴライズ
  45. 45. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 45Public New Text Mining – Queries SAP HANA ではテキストマイニ ングエンジンに対してサーバサ イドJavaScripのAPIを提供。  getRelatedTerms  getRelatdDocuments  and more SAP HANA Indexserver Tables Engine HANA App Preprocessor Linguistic Processing Entity, Fact Extraction Extended Application Services (XS) TM API Views Text Mining
  46. 46. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 46Public まとめ • SAP HANAは高速インメモリーデータベースを超えて、速 く、賢いアプリを作るための基盤に成長 • アプリケーションサーバ機能を内蔵しているのでそのまま Webアプリを作って動かすことができます。 • 統計ライブラリがあり、テキストデータ、地理データ、系 列データ等様々なデータが扱えるため、これまでは作るの が難しかったものが比較的簡単に作れるように
  47. 47. SAP HANAを中心とした 技術者向けセッション 次世代SAP Platform製品の Hands-onセッション 会場:ベルサール神田 4/6(月)申込サイトオープン 予定 © 2015 SAP SE or an SAP affiliate company. All rights reserved. SAP Tech JAM を 5月20日(水)に開催!

×