Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
Insight Technology, Inc.新久保 浩二
目覚めよDBエンジニア
世界最速カラムナーデータベースは本物だ!
2Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
Who am I ?
1. Insight Qube & Vectorwise & Any DBs
2. おら オラ Oracle どっぷり検証生活
2. Oracle ACE
3. @kouji_s_0808
4. JPOUG(Japan Oracle User Group)
本資料に使用されている社名、ロゴ、製品、サービス名およびブランド名は、該当する各社の登録商標または商標です。本資料の一部あるいは全体について、許可なく複製および転載することを禁じます。
3Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
DBのイノベーションはとっくの昔におきてます
4Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
197x
Oracle(ORACLE)
鬼熱いRDBMS勢力地図
System R(IBM)
Ingres(Actian 旧Ingres)
主にOLTP用途
主にDWH用途
買収等
1975
5Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
198xInformix
(Informix)
DB2(IBM)
Teradata(Teradata)
SQL Server(Microsoft)
PostgreSQL(Open Source)
主にOLTP用途
主にDWH用途
買収等
1985
Sybase(Sybase)
Non Stop SQL(Tandem)
6Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
199x
MySQL(MySQL AB)
Symfoware(Fujitsu)
Sybase IQ(Sybase)
HiRDB(Hitachi)
主にOLTP用途
主にDWH用途
買収等
1995
7Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
200xNetezza
(Netezza)
Informix(IBM)
Greenplum(Greenplum)
Vertica(Vertica)
Infobright(Infobright)
ParAccel(ParAccel)
Asterdata(Asterdata)
Vectorwise(Vectorwise)
Oracle Exadata(ORACLE)
MySQL(Sun Microsystems)
MonetDB(Open Source)
主にOLTP用途
主にDWH用途
買収等
2005
8Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
201x
Vertica(HP)
Asterdata(Teradata)
Redshift(Amazon) ParAccel
(Actian 旧Ingres)
主にOLTP用途
主にDWH用途
買収等
Vectorwise(Actian 旧Ingres)
Sybase (IQ)(SAP)
Netezza(IBM)
Greenplum(EMC)
InfiniDB(Calpont)
SAP HANA(SAP)
MySQL(ORACLE)
2013
9Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
Non-Clusterで世界最速(TPC-H)
10
Vectorwiseのイノベーション
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
Tim
e /
Cycle
s
to P
rocess
Data
Processed
DISK
RAM
CHIP
10GB2-3GB40-400MB
2-2
01
50
-25
0M
illio
ns
CPUの最適化(オンチップコンピューティング)
カラム指向データベース
圧縮
CPUが持つSIMD機能をフル活用。※メモリより高速なCPUキャッシュ上でデータを処理することで、高速な処理を実現。
カラムごとの格納構造のため、分析において、不要なカラムを読み込まない。
データを、自動的にカラムごとに圧縮するため、高い圧縮率と効率的なデータ処理(領域の削減、I/O性能の向上)を実現。
Queryの並列処理
Queryを並列処理し、メニーコアに対する高いスケーラビリティ
効率的なブロックI/O
各データブロックに対して自動的に最大値、最小値を格納し、検索時に利用するストレージインデックス
11
カラム指向データベースのメリット
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
• 列指向とは?
• メリットは?
(シーケンシャルな)アクセス効率 + データ圧縮 = 分析基盤に向いている
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Date
Date
Date
Date
Date
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Date
Date
Date
Date
Date
1ブロックには様々な
タイプのデータが格納
されているので圧縮効
率を上げにくい
1ブロックには同様の
タイプのデータが格納
されているので圧縮効
率を上げやすい
12
カラム指向データベースのデメリット
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
• デメリットは?
一般的に
(ランダムな)アクセスが非効率 + データ圧縮 = OLTP基盤に向いていない
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Date
Date
Date
Date
Date
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Prod ID Prod Name
Date
Date
Date
Date
Date
更新時に圧縮・展開
のオーバーヘッドが
大きい(*1)
13
ベクトル処理とキャッシュ最適化
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
SIMD (Single Instruction Multiple Data)
Pentium ⅢよりSSE(Streaming SIMD Extensions)として搭載され、Sandy BridgeよりIntel AVX(Advanced Vector eXtensions)へ
・・
・
・・
・
・・
・
・・
・
・・
・
Instruction
Data
Output
14
+ 雑談
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
RDBMSは、1つの仕事しかしない。というわけがないので、あくまでも雑談レベルとしてみてください。上記は、各データベースの全インストラクション中に、XMMレジスタ(128ビット)を使った処理の割合です。VectorwiseがSIMDに最適化されたコード(であろうことが窺えます…)
4.3
1.3
0.4
1.7
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Vectorwise(x100_server)
PostgreSQL
MySQL
某商用DB X
全インストラクション中に含まれるXMMレジスタを使用した割合(%)
15
反響の多かったロードを含めた性能比較
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
Redhat Enterprise
Linux 6.3 64bit
Intel Xeon L5640
2.27GHz(6core) * 2
48GB
SAS HDD * 2 (RAID1)
いろいろ
環境
16
反響の多かったロードを含めた性能比較
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
TPC-H(dbgen) 10GBをロード時のパフォーマンス(秒) – インデックスなし -
MySQL5.1
PostgreSQL8.4
customer(234MB/1.5M rows)
lineitem(7416MB/60M rows)
nation(0MB/25 rows)
orders(1668MB/15M rows)
part(232MB/2.0M rows)
partsupp(1149MB/8.0M rows)
region(0MB/5 rows)
supplier(14MB/0.1M rows)
Total(10GB/86.6M rows)
Actual DB Size(10GB/86.6M rows)
商用RDBMS X
Vectorwise3.0
某カラムナーDB(1)
某カラムナーDB(2)
17Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
反響の多かったロードを含めた性能比較
0
2
4
6
8
10
12
14
16
18
0
200
400
600
800
1000
1200
1400
PostgreSQL8.4
MySQL5.1
商用RDBMS
X
Vectorwise3.0
某カラムナー
DB(1)
某カラムナー
DB(2)
データロード性能
データサイズ(GB) ロード時間(秒)
(秒) (GB)
18
反響の多かったロードを含めた性能比較
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
TPC-H(qgen) 10GBに対するQuery時のパフォーマンス(秒) - キャッシュなし -
MySQL5.1
PostgreSQL8.4
Query1
Query3
Query4
Query6
Query7
Query8
Query9
Query10
Query11
Query12
Query13
Query14
Query16
Query18
Query19
Query20
Query21
Query22
Total
商用RDBMS X
Vectorwise3.0
某カラムナーDB(1)
某カラムナーDB(2)
MySQLはインデックスなしでは返ってこないので、Primary Keyのみ付与
19
実際にPoCを実施した結果(チラっと)
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
Redhat Enterprise
Linux 6.3 64bit
Intel Xeon E5-4650
2.70GHz(8core) * 4
512GB
SAS SSD * 8
(RAID10)
Vectorwise 2.5.1
環境
20
某お客様にて、POSデータ分析のPoC
– Vectorwiseのデータ量と処理速度の関係• データ量を75億件、150億件、340億件と変えて同一SQLを実行
– VectorwiseのCPU数と処理速度の関係• 使用するCPU数(Vectorwise側で)を変えて同一のSQLを実行
– SQLイメージ(インデックスなし)購買年齢層別売上金額
“SELECT age, sum(amt) FROM pos GROUP BY age”
店舗指定(範囲)売上金額
“SELECT shop,sum(amt) FROM pos
WHERE shop BETWEEN 2 and 5 GROUP BY shop”
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
実際にPoCを実施した結果(チラっと)
21Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
実際にPoCを実施した結果(チラっと)
2.19
4.2
9.67
0
2
4
6
8
10
12
75億件 150億件 340億件
経過秒数(秒)
店舗指定(範囲)売上金額
1.47
1.821.72
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
75億件 150億件 340億件
経過秒数
購買年齢層別売上金額
データ量と処理速度の関係
22Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
実際にPoCを実施した結果(チラっと)
9.67 14.69
27.37
53.84
105.33
0
20
40
60
80
100
120
DOP=32 DOP=16 DOP=8 DOP=4 DOP=2
経過秒数(秒)
購買年齢層別売上金額
1.722.77
5.09
9.53
18.53
0
2
4
6
8
10
12
14
16
18
20
DOP=32 DOP=16 DOP=8 DOP=4 DOP=2
経過秒数
店舗指定(範囲)売上金額
CPU数と処理速度の関係(340億件固定)
23
アプライアンスはイノベーションか?
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
肝は、- H/W性能を徹底的に使い切る
S/Wのイノベーション
- S/W特性に合わせた最新H/Wのコンフィグレーション
24
H/Wのイノベーションも活用
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
×136
H/W: 汎用サーバー H/W: Insight QubeH/W: 汎用サーバー
×13
25Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
99%
1%
tweets demo tweets
世界中のツイート(*1)の1%
を抽出
(2012/4/23 - 2012/4/25)
ツイートの語句解析(MeCabに
よる形態素解析)
データベースにロード
デモのためデータを5倍に増幅
- ツイートデータで1000万件
(10GB)
- 解析後語句データで260万件
(100MB)
データロードは各データベースベ
ンダーが用意するローダーを使用
1000万件のツイートデータ
から世界のツイート数の国別
ランキングを出してみると?
1000万件のツイートデータ
から世界のツイートの時間帯
別ツイート数の推移を見てみ
ると?
1000万件のツイートデータ
と260万件の解析後の語句
データから日本でホット
だったキーワードを探って
みると?
+DEMO
26Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
Redhat Enterprise
Linux 5.7 64bit
Intel Xeon X5672
3.20GHz * 2
48GB
Redhat Enterprise
Linux 5.7 64bit
Intel Xeon E5645
2.40GHz * 4
48GB
SATA SSD * 6
(RAID10)
Vectorwise 2.5.1
SATA 1K rpm HDD *
18 (RAID50)
DBMS X
Vectorwise DBMS X
+DEMO
27
+DEMO
Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
28Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
DBのイノベーションはとっくの昔におきてます
そのDWHシステムは、そのデータベースでいいんですか?
29Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
Recommended