Bellwether
Speed
consultants
Inc.
日本データマネジメント・コンソーシアム(JDMC)
セミナー(2013.4.25)
In-memory DB調査報告
In-memory DB調査報告
・ NEC
; InfoFrame DataBooster
・ SAP社 ; HANA
© 2013 Bellwether consultants Inc. All rights reserved.
1
Bellwether
consultants
Inc.
In-memory DB 出現の背景
Speed
■ 過去50年間のDiscストレージ処理方式に対し、
より高性能なデータベース管理システムを実現するものとして登場
・ Oracle Times Ten
; 2005年
・ NEC InfoFrame DataBooster ; 2007年
・ SAP HANA
; 2010年
■ 大規模データの高速処理、及び柔軟なデータ処理
・ 行指向処理高速化
・ 自由なカラム/キー値によるロー(行検索)処理高速化
・ テーブル全体処理、カラム(列)指向処理の高速化
⇒ Sort、Join、検索、集計等
■ In-memory DB 実現可能化(主要)技術
・ 大容量メモリー・高性能(マルチコア)サーバ
・ インメモリーデータ処理アルゴリズム
カラム(項目)辞書方式⇒ InfoFrame DataBooster、HANAで採用
・ ACIDの保証をしたDBMS⇒ HANA
(参考)ACID;原子性(atomicity)、一貫性(consistency)、独立性(isolation)、永続性(durability)
© 2013 Bellwether consultants Inc. All rights reserved.
2
Bellwether
consultants
Inc.
Disc ストレージ方式の課題
Speed
■ Disc装置は、磁気Discを回転し、磁気ヘッドでデータを
Read/Writeを行うため一回のIO時間に10mSec程度を要する。
⇒ DiscIOの並列化,キャシュ等高速処理の技術開発が
行われているが原理的に飛躍的な高速化は困難
⇒ 特定分野に特殊化した高速化技術の乱立
■ 取り扱いデータ容量の増加、大規模化による
各種データ処理時間の長大化
・ バッチ処理 :Sort、Join、Union・・・
夜間バッチ等時間(3~6時間程度)制約による業務処理制約
トラブル等による終了時間の遅延
・ OLAP処理 :全件検索、集計処理等
問い合わせ応答時間が分オーダになり生産性低下
解決策⇒ 飛躍的な高速メモリーストレージ方式採用
© 2013 Bellwether consultants Inc. All rights reserved.
3
Bellwether
consultants
Inc.
大容量メモリーサーバによるパラダイムシフト
Speed
■ 大容量メモりーサーバの出現
・ メインメモリーTeraByte(TB)オーダ容量サーバ
⇒市場では1TB 1千万円台のサーバが出現
・ 大規模データがメインメモリーに収容可能
(参考) 1TB(一兆バイト); 1kBのロー(行、レコード)で
◆ 10億個
◆ 1000万行のテーブル、100個に相当
■ 将来的にもサーバのメモリー容量増大が期待出来き
適切なコストでデータがメモリに収納できるのなら、
In-memory DBは
・ システム全体コスト、運用等考慮して、導入検討に値する技術
・ 従来のDiscストレージ方式を前提としたシステム構成法、
三層(three-layer)アーキテクチャーの改革を促進する技術
© 2013 Bellwether consultants Inc. All rights reserved.
4
Bellwether
consultants
Inc.
高性能サーバの出現
Speed
■ In-memory DBに適合した安価高性能サーバの出現
CPUマルチコア化、大容量キャシュメモリー、高速バス等機能強化
◆CPUマルチコア
・ 同時データ処理を並列化
・ 大規模テーブルのSort、検索、集計処理並列化
◆ 大容量キャシュメモリー、高速バス
インメリーデータ処理高速化に適合したキャシュメモリー
大容量化、メモリーバス高速化
・ オールインキャシュCPU演算処理
■ インテルXeon 7500番台CPUチップ
SAPとの共同開発によりIn-memory DBに最適な機能をサポート
⇒24MBL3キャシュ、QuickPathテクノロジー、RAS機能強化等
© 2013 Bellwether consultants Inc. All rights reserved.
5
Bellwether
Speed
In-memory DB 処理方式 比較
consultants
Inc.
タイプ
方式
メモリ比 性能比
代表的な製品
RDB拡張
ロー(行)インメモリ
1
1
Oracle Times Ten 他
インメモリー
特化
カラム辞書方式
~1/5
40
~50
NEC InfoFrame DataBooster
SAP HANA
論理テーブル(例)
ID
#
Family
Name
city
104
Yamada
Nagoya
111
Akiyama
Aomori
100
Yamada
Akita
105
Nomura
Tokyo
110
Yamada
Tokyo
102
Ishii
Akita
Satou
Tokyo
120
メモリー
ロー(行)インメモリ
RDB
ID#を主キーとしてロー
をSort再配列して RDB化
カラム辞書方式
行1
I
D
#
行2
Row Order
0
・ ロー順序変更なし、
・ カラム毎に値(Sort済み)
辞書作成
; メモリー上で連続した配列
メモリ上
の配列
1
2
3
4
V
n
カラム辞書
V
L
Archive
5
6
; メモリ上で飛び飛びになった配列
Vn:Value Number VL:Value List
© 2013 Bellwether consultants Inc. All rights reserved.
6
Bellwether
カラム辞書方式
consultants
Inc.
Speed
■ カラム辞書方式の利点
・ 単一プラットホームで「行指向DB」、「列指向DB」サポート
・ メモリー使用量の極小化実現 ⇒Sort、Join等で、行毎のカラムのコピー不要
・ データ加工処理をCPUキャシュメモリーミスヒットなし、All in Cash で(略)実行
RDB系のIn-memory DBに比べ、40倍以上高速を実現。
■ データフォーマット ⇒ テーブルデータをカラム毎に分解
Sub
Row
Order
5
Root
Row
Orde
r
カラム1
カラム2
Vn
Vn
VL
0
4
◆
ローの配列順序を管理し、値はロー番号を示す
・Root Row Order ; 配列順序=ロー番号
・Sub Row Order ; ローの配列を変更する処理結果の
配列順序と、順序に対応する、Root Row Orderの番号保持
VL
1
1
2
0
3
6
4
2
5
3
6
Sort
Row order
◆
Vn: Value Number
・ 配列順序はRoot Row Orderに対応し、値は収容されている
VLの(ロケーション)番号を示す
1
3
◆
VL: Value List ;カラム(値)辞書
カラムの値を上昇順にSortして配列したリスト
© 2013 Bellwether consultants Inc. All rights reserved.
7
Bellwether
Speed
性能比較;InfoFrame DataBooster実測例
consultants
Inc.
測定1
■ 測定1 ; インメモリー処理性能比較
RDBデータをメモリーに展開した場合
(ローインメモリ相当)と
InfoFrame DataBoosterの比較
商品マスタ:1万件、取引明細表:
2億件をジョインし、商品で集計
59分3秒
SELECT 商品, SUM(売上)
FROM
売上マスタ a, 取引明
細
表b
WHERE a.商品ID = b.商品
ID
AND 日付 >=
88秒
'20070101'
GROUP BY 商品
DataBoosterORDER BY 2 DESC
40倍
■ 測定2 ;
InfoFrame DataBooster実測例
従来RDB
(メモリ-展開後)
測定2 ;測定結果(ノートPCで実施)
処理
10億ロー
Joinテーブル
生成
操作
(ミリ秒)
T2の 1ロー当たり
T1の500ローをJoin
同上テーブル 日付で逆Sort
Sort
処理
時間
47
62
測定2 ;利用テーブル
使用
メモ
リー
(MB)
(参考)
Disc方式容量
(GB) (注2)
24
104
(注1)
(約4000倍)
16
104
(注1)
(約6500倍)
© 2013 Bellwether consultants Inc. All rights reserved.
ロー長
(バイト)
ロー
数
(万)
T1
68
5
T2
36
200
論理
テーブル
(MB)
カラム
辞書(圧
縮)後(MB)
3,4
1,6
72
40
(注1) メモリー使用量は、ロー数に依存。
ローレングスに依存しない
(注2) ローレングスに比例した容量
=ロー長 X ロー数
8
Bellwether
導入の容易性/既存システムとの親和性
consultants
Inc.
Speed
■ 導入の容易性/既存システムとの親和性
◆ SQLインターフェースにより利用可能 ⇒ 部分導入が可能
■ 導入事例 ; InfoFrame DataBooster
◆ 参照系の性能ネックとなるテーブルのみInfoFrame DataBooster化
・ システム共有テーブル
・ 全件検索処理対象テーブル
バッチ処理AP/BIツール
バッチ処理AP/BIツール
JDBC
JDBC
PostgreSQL等
テーブル群
・・・
・
性能
ネック
テーブ
ル
PostgreSQL等
In-memory 化
InfoFrame
Data
Booster
© 2013 Bellwether consultants Inc.
P.9All rights reserved.
テーブル群
・・・
・
9
Bellwether
Speed
適用領域概略
consultants
Inc.
企業情報システムの概略区分
・ 基幹業務系 ; OLTP処理システム、
・ 情報系
; OLAP処理システム
InfoFrame DataBoosterとHANA
適用領域鳥瞰
Data mart/Cube作成不要
⇒SQLで都度高速処理
◆ Master Data management システム
◆ データクレンジングツール
◆ 大規模バッチ高速処理ツール
■ HANA
◆ ACID保証DBMS
基幹業務系DB
適用領域等
・アプライアンス・サーバタイプ
・リアルタイムデータプラットホーム
◆ OLAP基盤
・ オンザフライデータ集約機能
・ 高度なテキスト検索機能
・ 統計言語R、PAL等のサポート
情報系
cvcv
OLAP処理
基幹業務系
cvcv
OLTP処理
■ InfoFrame DataBooster
バッチ型データ処理及びOLAP処理高速化
◆ Central Ware House
データ
交換
情報系DB
業務・情報
DB統合管理
HANA
InfoFrame
DataBooster
基幹業務系DB
リアルタイムデータ更
新
○
対象外
情報系DB;参照系
○
○
○(DBMSとして
システム運用で、
回復機能サポート
障害時の処理
© 2013 Bellwether consultants Inc. All rights reserved.
システム回復機能
具備)
10
Bellwether
今後の展望・期待
consultants
Inc.
Speed
■ システム構成法の変革; 三層(three-layer)アーキテクチャーの機能分担の変化
In-memory DBでは、メモリー上に全データを一括して収容している利点により、
従来プレゼンテーション層、アプリ―ション層に実装していた処理を
In-memory DBサーバに実装
⇒レイヤ間のオーバヘッドを低減、システム全体として高速処理実現。
HANA
従来の三層モデル
プレゼンテーション
プレゼンテーション
Application
Server
SQL
Application
Server
処理機能移転
SQL,MDX,BICS・・
Data Server
HANA
PAL: Predictive Analysis Library
■ 大容量データへの対応: 並列化
性能のリニアなスケールアップ
(HANA)
・ 現状1280コア/16TB(16ノード)
⇒1万コア/250TB
■ メインメモリーへの不揮メモリー素子
(MRAM等)適用
・ システム回復処理の簡易化により
OLTP処理の更なる高速化。
・テキスト検索
・PAL
・計算/計画処理
MDX;Multidimensional Expression
© 2013 Bellwether consultants Inc. All rights reserved.
11
Bellwether
consultants
Inc.
Data Management におけるIn-memory DBの利点 その1 Speed
■
性能の高速性及び安定性
Sort、Join、Union等処理時間がDiscベースに比べ飛躍的に高速であり
システムとして安定した稼働が期待できる。
構造化データ
■
構造化データが処理可能 ⇒ RDBで扱えないデータの処理が可能
◆ テーブル形式に記述可能な構造化データ共存、連結処理
木構造、
◆ 木構造データ、XMLデータ高速処理⇒カラム値検索の高速性
XML・・・
■ 単一データ処理基盤で 行指向、列指向データ処理
■
■
データ処理システム運用が容易 ⇒ 簡易な物理スキーム
RDBMS
主要な制約条件;メモリー使用量
GUIによるリアルタイム・インタラクティブ データ参照・検索・加工処理
論理レベルデータモデルの生成・変更・維持が容易 ⇒ InfoFrame DataBooster
⇒ Discストレージ処理システムと共存し、Data Management ツールとしても利用可能
テーブル(表)データとツリー(木)データの共存、連結処理
口座番号
・・
氏名
氏名
Table data *
Join
*
住所
親の氏名
高速正/逆展開
Tree data
© 2013 Bellwether consultants Inc. All rights reserved.
12
Bellwether
consultants
Inc.
Speed
(補足)カラム辞書方式アーキテクチャ概略
例:InfoFrame DataBooster
メモリーデータの配置
論理テーブルデータ
Row
Root
row order
ID#
(Vn)
Family Name
City
ID #
Family
Name
city
104
Yamada
Nagoya
0
2
100
4
Akiyama
2
Akita
111
Akiyama
Aomori
1
5
102
0
Ishi i
1
Aomori
100
Yamada
Akita
2
0
104
4
Nomura
0
Nagoya
105
Nomura
Tokyo
3
3
105
2
Satou
3
Tokyo
110
Yamada
Tokyo
4
4
110
4
Yamada
3
102
Ishii
Akita
5
1
111
1
0
120
Satou
Tokyo
6
6
120
3
3
ID#で
Sort
(参考)RDB
Cityで
Sort
ID #
Family
Name
city
100
Yamada
Akita
102
Ishii
Akita
104
Yamada
Nagoya
105
Nomura
Tokyo
110
Yamada
Tokyo
111
Akiyama
Aomori
120
Satou
Tokyo
主キー
形式変換
Row 番号で
カラム値参照
5
0
VL ;カラム(値)辞書(値上昇順にSort済)
バイナリサーチで値検索
Sub row order 2
2
1
(Vn)
(Vn)
Yamada
で検索
3
4
6
Sub row order 1
2
100
Yamada
Akita
0
104
Yamada
Nagoya
4
110
Yamada
Tokyo
・
Row
Sort、検索、Join等の処理結果
⇒Sub row OrderからRoot Row Order
番号を得て、カラム参照
⇒カラムのコピーは作成しない
© 2013 Bellwether consultants Inc. All rights reserved.
13
ダウンロード

JDMC セミナー 0425版 HP用抜粋