More Related Content Similar to [db tech showcase Tokyo 2015] D22:インメモリープラットホームSAP HANAのご紹介と最新情報 by SAPジャパン株式会社 花木敏久 (20) More from Insight Technology, Inc. (20) [db tech showcase Tokyo 2015] D22:インメモリープラットホームSAP HANAのご紹介と最新情報 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
⾃自⼰己紹介
4. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 4
SAP HANAを学ぶために
DBTech Showcase 2015の歩き⽅方
5. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 5
本⽇日のアジェンダ
IMDBの仕組み
カラムストアの仕組み
カラムストアの圧縮
カラムストア更更新の仕組み
カラムストアのアクセスの仕組み
APロジックプッシュダウン
SPS10新機能
6. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 6
これまでのデータベースとの違い
インメモリー化 + カラムストア によるOne Dataイメージ
• HANAデータベースは全てのデータがメモリー上で運⽤用(Aging Dataを除く)
• データおよびその操作のほとんどをカラムストア上で運⽤用(オンライン更更新も含む)
• ターンアラウンド時間(データの発⽣生→情報の取得)の短縮、リアルタイム分析
Storage
Memory
Memory
データファイル、ログファイル
CPU
Disk
CPU
ローストア
これまでのデータベース
SAP HANA
SSD
Hard DISK
1000倍
I/O遅延時間
50ナノ秒
I/O遅延時間
50,000ナノ秒
I/O遅延時間
5,000,000ナノ秒
データ
ベース
の
配置場所
データ
ベース
の
配置場所
7. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 7
Order
Country
Produc
t
Sales
456
France
corn
1000
457
Italy
wheat
900
458
Spain
rice
600
459
Italy
rice
800
460
Denmark
corn
500
461
Denmark
rice
600
462
Belgium
rice
600
463
Italy
rice
1100
…
…
…
…
SAP HANAのカラムストア構造
Dictionary/Value-‐‑‒ID配列列(辞書圧縮)
Ÿ カラム単位でDictionary/ValueID配列列を作成
– Dictionary:ユニークなカラム値を格納(位置がValueIdを⽰示す)
– Value-‐‑‒ID配列列:全てのエントリーのValueIDを格納(位置がRecIDを⽰示す)
– Inverted Index:値が同じ⾏行行のリスト(値はRecIDの配列列、ValueID位置は)
1
Belgium
2
Denmark
3
France
4
Italy
5
Spain
1
3
2
4
3
5
4
4
5
2
6
2
7
1
8
4
…
…
1
7
2
5,6
3
1
4
2,4,8
5
3
Logical Table
Dictionaryには
5件のデータ。
従って、3bitで
符号化可能
ValueID配列
(bit fields)
Inverted
indexDictionary
ValueID RecID ValueID
Ÿ カラム毎に独立した辞書構造に変換されてメモリー上に連続的に配置
Ÿ スキャンスピード=31.9億件/秒・コア(SAP,インテルによるテスト)
8. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 8
SAP HANAのカラムストア構造
圧縮
辞書(ValueID配列列)に対す
る圧縮
Ÿ カラム内の繰り返し値を圧縮
Ÿ 圧縮することにより効率的に大量データを格納可能(情報系:〜7倍、基幹系:〜2倍)
Ÿ 圧縮により、メモリーの効率的利用だけではなく、性能向上の効果も
圧縮による性能向上の例例
Ÿ 辞書圧縮ではValueID配列列は2進
符号化整数→スキャン、ジョイン
の際の等価判定が⾼高速
Ÿ ⻑⾧長い配列列のスキャンをシンプルな
演算で置き換えられる
Ÿ CPUキャッシュへの転送に要する
時間が短い
アルゴリズム
圧縮方法
Prefix Encoding 連続する値→値+繰返回数
Run Length Encoding (RLE) 連続する値→反復削除、配列開始位置リスト
Cluster Encoding 配列を分割、全数同じならば1文字置換
Sparse Encoding 最も頻出する値の削除
Indirect encoding 配列を分割、低カーディナリティならば再辞書圧縮
Corn
Wheat
Rice
2
1
1
1
3
2
2
1
2
1*3
3
2*2
1
9. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 9
カラムストアによる検索索
カラム値によるサーチ
1
Belgium
2
Denmark
3
France
…
123
Spain
1
3
2
4
3
123
4
4
…
…
1024
123
1025
1
1026
4
…
…
0
1
1
0
…
1
1
1
…
ValueID配列
Dictionary
ValueID RecID
SELECT SALES
FROM ORDERS
WHERE
COUNTRY = ʻ‘Spainʼ’
Dictionary
を
バイナリー
サーチ
フルカラムス
キャンで123
をサーチ
Consistent
View
Filter
OrdersテーブルのCountryカラム
RecIDとして 3と1024を取得
10. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 10
カラムストアによる検索索
カラム値によるサーチ〜~インデックス使⽤用
1
Belgium
2
Denmark
3
France
…
123
Spain
1
3
2
4
3
123
4
4
…
…
1024
123
1025
1
1026
4
…
…
0
1
1
0
…
1
1
1
…
ValueID配列Dictionary
ValueID RecID
SELECT SALES
FROM ORDERS
WHERE
COUNTRY = ʻ‘Spainʼ’
Dictionary
を
バイナリー
サーチ
Consistent
View
Filter
OrdersテーブルのCountryカラム
RecIDとして 3と1024を取得
1
1025
2
857
3
1
4
2,4,1026
…
…
123
3,1024
124
51,46
125
18
…
…
Inverted
index
11. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 11
カラムストアによる検索索
ローポジションによるサーチ
1
120000
2
750000
3
30000000
…
…
123
5500000
124
1000000
1
3
2
4
3
123
4
4
…
…
1024
123
1025
1
1026
4
…
…
ValueID配列 Dictionary
ValueIDRecID
SELECT SALES
FROM ORDERS
WHERE
RecID = 1024,3
OrdersテーブルのSalesカラム
Salesカラムの値として 5,500,000と30,000,000を取得
12. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 12
カラムストアの更更新と参照整合性の仕組み
デルタマージ、コンシスタントビューマネージャー、insert Only
1|1
2|2
3|3
2
3
0
1
1|Green
2|Blue
3|Red
2
2
1
3
メインストア デルタストア
元のテーブルストア
1|1
2|2
3|3
2
3
0
1
1|Green
2|Blue
3|Red
2
2
1
3
1|1.25
2|0.08
3|12.1
1
2
3
3
新メインストア
デルタ2ストア
12 White 4.01
45 Cien 0.31
… … … …
新しいテーブルストア
SELECT ID, COLOR FROM PRODUCTS
WHERE MARGIN > 1.00;
INSERT INTO PRODUCTS ....;
UPDATE ....;
DELETE ....;
READ
READ
Write
コンシスタントビュー
マネージャー
1|1.25
2|0.08
3|12.1
1
2
3
3
Insert Only
デルタマージ
4 Black 2.22
5 Yellow 0.001
… … … …
13. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 13
SAP HANA テーブル更更新の仕組み
インサートオンリー
Ÿ 更更新処理理を短時間で完了了するために
Insert, Update, Deleteを全て insert
として処理理
Ÿ Insert専⽤用の領領域“デルタストレージ”
テーブル領領域は“メインストレージ”
コンシスタントビューマネージャー
Ÿ デルタストレージとメインストレージ
から現在のテーブル内容を⾒見見せる
Ÿ 更更新内容を全て監視
デルタマージ
Ÿ メインストレージの遅延更更新
– デルタストレージをメインストレージに反
映する
Ÿ 明⽰示的、または⾃自動的に起動
インメモリーDB
デルタストレージ メインストレージ
Insert
Update
Delete
L1
キャッシュ
Insert
Only
デルタマージ
Select
更更新完了了!
⼀一世代前
のデータ
コンシスタント
ビューマネージャ
14. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 14
アプリケーションロジックプッシュダウンの考え⽅方
UI
レイヤー
AP
レイヤー
DB
レイヤー
SAP
HANA
プレゼンテーション プレゼンテーション
メインコントロール
ビジネスロジック
メインコントロール
ビジネスロジック
計算ロジック
データ
計算ロジック
データ
転送
負荷
処理
負荷
従来 HANA
従来の3層型システム
構成の問題
• ⼤大量量データの転送
• APレイヤーの負荷⼤大
• レスポンス時間の悪化
15. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 15
アプリケーションロジックプッシュダウンの⽬目的
”速さ”か、”早さ”か?
従来の基幹系/情報系の関係
SAP HANA
HANA
本⽇日,09:00:00
本⽇日,09:00:05
速さ
早さ
速さ
基幹系
バッチ
EDW
バッチ
DM DM DM
明⽇日,09:00本⽇日,09:00
早さ
重要なことは、データの発⽣生→情報へ転換→情報の取得に要した時間:ターンアラウンド時間
16. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 16
マルチテナントDBコンテナー
アプリケーションロジックプッシュダウンの実装
HTTP(S),
HTML, CSS, JS, …
HTTP(S),
oData
SQL (MDX)
ブラウザ
(SAPUI5ベースUI)
Generic Analytical UI
(BOBJ, 3rd Party, …)
XSサービス(Webアプリケーションサービス)
インデックスサービス
(DB)
SAP
HANA
PLATFORM
仮想テーブル
Information View
(多次元キューブ)
R & Hadoop 統合
予測分析ライブラリー
ビジネス
ファンクション
ライブラリ
テキスト検索索/分析
計画および
計算エンジン
地理理情報
エンジン
アプリケーションサービス
(JavaScript, Odata,
など)
インメモリー
テーブル
仮想テーブル
スマートデータアクセス
SQLScript
ストアード
プロシージャ
SQL
Extended Storage
Extended Storage ServerIQ ASE
MS
SQL
テラ
データ
オラ
クル
カス
タム
仮想テーブル
Lumira サーバ
スマートデータ
インテグレーション
(ETL)
スマート
データ
ストリー
ミング
(イベント
処理理)
17. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 17
SAP HANAアプリケーションの構造
XSサービス
アプリケーションサービス
(JavaScript, Odata,
など)
Lumira サーバ
センサーデータ
株価情報
イベントデータ
営業データ
⽣生産データ
構造化データ
会計データ
SNS
⽇日報/オフィス⽂文書
テキストデータ
ログ
地図/ナビシステム
携帯電話
位置情報データ
気象情報携帯データ
写真
動画
画像データ(*1)
グラフ
Information View
(多次元キューブ)
予測分析ライブラリー テキスト検索索/分析
地理理情報
エンジン
SQLScript
ストアードプロシージャ
SQL
Veiw Veiw Veiw
Information View
(多次元キューブ)
予測分析ライブラリー テキスト検索索/分析
地理理情報
エンジン
SQLScript
ストアードプロシージャ
SQL
イベントプロセッシング OLTP ETL、ローダー、SDA
インメモリー
テーブル
アプリケーション
開発機能
インメモリー
テーブルorビュー
データベースサービス
SAP HANA
プラットホーム
ブラウザ
(SAPUI5ベースUI)
Generic Analytical UI
(BOBJ, 3rd Party, …)
*1 計画中の機能
18. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 18
サマリー
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
非構造化データ ビジネス関数
*⼀一部リリース前の機能も含みます。
20. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 20
SAP HANA SPS9 è SPS10
マルチテナントデータベースコンテナー(MDC)
SAP HANA マルチテナントデータベースコンテナー
Ÿ 単⼀一のシステムデータベースで複数のテナント(ユーザー
データベース)を管理理する仕組み
Application
SAP HANA System
Tenant DB
Application
Tenant DB
System DB
New features as of SPS10
è ダイナミックティアリング
è スケールアウト
è テナント別のリソースモニタリング
è DATABASE ADMIN権限を細分化:
START /STOP / CREATE / DROP/ BACKUP /
RECOVER
TENANT DB
21. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 21
SAP HANA SPS9 è SPS10
ダイナミックティアリング
SAP HANA ダイナミックティアリング
SAP HANAを構成するデータストアは、
è メモリーベースの“ホットストア”
è ディスクベースの“ウォームストア”
ウォームストアもカラムストアで構成
Ÿ 両ストア間のデータ移動が発⽣生してもアプリ
ケーションの変更更は不不要
HANA Database Service
HANA Database
Engine
Table
(warm data)
Table
Extended table
All related data resides in extended store
Table
Table
Client
Applicatio
n
Connect
HANA
Dynamic
Tiering
Engine
New features as of SPS10
è フェールオーバー
è Extended Storage Server (esserver)のより詳細な監視が可能に
connection, transaction, lock, etc
22. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 22
SAP HANA SPS9 è SPS10
⾮非同期テーブルレプリケーション
SAP HANA ⾮非同期テーブルレプリケーション
HANA DB
APP
A
D E
B C
OLTP
+ OLAP
F
I
G H
Master Slave
CPU Load
APP
A
D E
B C
OLTP
(writable)
F
IG H
Master Slave
C‘B‘
OLAP
(read-only)
23. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 23
SAP HANA SPS10
⾮非同期テーブルレプリケーション è 1:N
APP
A
D E
B C
OLTP
(writable)
Master
F
IG H
Slave1
C1B1 F
IG H
Slave2
C
2
B2 F
IG H
SlaveN
C
N
B
N
OLAP1
(read-only)
OLAP2
(read-only)
OLAPn
(read-only)
HANA DB
CPU Load ………..
………..
24. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 24
SAP HANA SPS10
⾮非同期テーブルレプリケーション -‐‑‒ Rules
è スケールアウト環境のみ利利⽤用可能 (異異なるHANAインスタンス間、他のDB製品と
のレプリケーションは不不可)
è マスターサーバーに複製テーブル作成は不不可
è カラムテーブルのみサポートする (⼀一時テーブル, 拡張ストレージなどは未サポー
ト)
APP
A
D E
B C
OLTP
(writable)
Master
F
IG H
Slave1
C1B1 F
IG H
Slave2
C2B2 F
IG H
SlaveN
CNBN
OLAP1
(read-only)
OLAP2
(read-only)
OLAPn
(read-only)
………..
25. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 25
SAP HANA SPS10
リソース管理理 – 現在の仕様
SAP HANA リソース管理理
現在の仕様
ユーザー、アプリケーション共に
è メモリー無制限
è スレッド数無制限
è 優先度度指定無し
SAP HANA
26. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 26
SAP HANA SPS10
リソース管理理 -‐‑‒ solution
Solution
ステートメントスレッドリミット
Ÿ 多数のスモールジョブによる過度な
同時実効を避ける
ステートメントメモリーリミット
Ÿ 1ステートメントの実行によるメモリーの過
消費を防ぐ
ステートメントプライオリティ
Ÿ ジョブスケジューリング改善のため
に現在の実行状態にヒントを与える
Global
Allocator
Limit
Start
statement
OOM
TIME
MEMORY
Statement
Memory
Limit
Job
B
(App.1)
Job
A
(App.1)
Job
Y
(App.2)
Job
X
(App.2)
Job
Z
(App.2)
ORDER
OF
JOBS
App.2
=
App.1
Job
B
(App.1)
Job
A
(App.1)
Job
Y
(App.2)
Job
X
(App.2)
Job
Z
(App.2)
App.2
>
App.1
1.
2.
3.
4.
5.
Large
operaXon
Small
Job
Small
Job
Small
Job
Tiny
Job
Small
Job
Small
Job
Tiny
Job
Small
Job
Tiny
Job
Small
Job
[ ]
27. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 27
SAP HANA SPS10
リソース管理理 – technical details
ユーザ情報、アプリケーションコンテキスト情報に基づいて、ワークロードを分類
する
Ÿ クライアントライブラリーから通知されたアプリケーション情報を識識別する
(ex. Client=900, ApplicationName=BW, ApplicationUserName=SAPTESTER)
Ÿ メモリー上にキャッシュされたワークロードクラス/マッピングから最もフィットするワークロードクラス
を探す
クライアント
セッション
[キャッシュ]
ワークロード クラス/
マッピング
1. リクエスト
2. Look up 3. 適合するワーク
ロードクラスを返す
Execution
Context
(ステートメント)
Memory
Allocator
(ステートメント)
プライオリティ /
スレッドリミット、メモリーリミット
4. Apply 4. Apply
クエリーの
実行
5. 実行
28. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 28
SAP HANA SPS10
NUMA-‐‑‒aware メモリー割り当て
NUMA(Non Uniformed Memory Architecture)を意識識したメモリー割り当て
ローカルメモリーを優先的に使⽤用することにより、性能を向上
5x less
CPU
2x
throughput
Job
Segment
Allocation
Segment
Allocation
29. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 29
SAP HANA SPS10
新しいハードウェアのサポート〜TSX
Baseline1.0(Normalized)
4-Socket
Intel® Xeon®
Processor E7-4890 v2
(15 Cores, 2.8 GHz, “Ivy
Bridge-EX”)
+
SAP HANA* SPS8
Upgrade to SAP
HANA* SPS9
Up to 1.8x more
transactions
New software
enhancements
Upgrade to
E7-8890 v3 (18 Cores,
2.5 GHz, “Haswell-EX”)
Up to 2.7x more
total transactions
More threads and cache
Improved
microarchitecture
Add Intel® TSX
Up to 6x more total
transactions
Fine-grain locking performance
using course-grain programming
T0 T1 T2 T3 T0 T1 T2 T3
Serial execution Parallel execution
Lock transfer
latencies
No lock transfer
latencies
Intel Xeon E7 v3 + Transactional Synchronization Extensions
Ÿ 楽観的ロック制御
– コンフリクトが発⽣生した場合にのみ、
トランザクションを開始時点
にもどす
30. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 30
HANA on Power
è ⼀一部ユーザによる導⼊入、評価進⾏行行中
è General Availability (GA) 2015年年末予定
è ….
SAP HANA SPS10
ニューハードウェアサポート
32. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 32
まだ、あります。SAP HANAのセッション
本⽇日 17:30-‐‑‒18:20、Room B
33. © 2015 SAP SE or an SAP affiliate company. All rights reserved.
花⽊木敏久
SAPジャパン株式会社
toshihisa.hanaki@sap.com