[c31]世界最速カラムナーdbは本物だ! by daisuke hirama

23
世界最速 カラムナーDBは本物だ! ParAccel SMP (Vectorwise) Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 平間 大輔 Insight Technology, Inc.

Upload: insight-technology-inc

Post on 10-Jun-2015

700 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

世界最速 カラムナーDBは本物だ!

ParAccel SMP (Vectorwise)

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.

平間 大輔

Insight Technology, Inc.

Page 2: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

世界最速?

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.

Page 3: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

世界最速!

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.

Price/Performance

US$/QphH@1TB

0

Performance

(QphH@1TB)

TPC-H ベンチマークのトップ 8(Non-Clustered 1TB ) 2013/7/11時点

TPC, TPC Benchmark, TPC-H, QppH, QthH and QphH are trademarks of the Transaction Processing Performance Council (TPC)

Source: www.tpc.org / Jul 11, 2013

Sybase IQ 15 Dec 2010

164,747

$1.37 US $6.85 US

Vectorwise 3 May 2011

$0.88 US

436,788 173,961

Microsoft 5 Apr 2011

80 cores 2TB RAM

32 cores 1 TB RAM

$9.53 US $1.86 US

Microsoft 30 Aug 2011

Oracle 3 Jun 2011

64 cores 0.5TB RAM

209,533

Oracle 26 Sep 2011

201,487

$4.60 US

80 cores 2TB RAM

219,887

$12.15 US

Oracle 26 Apr 2010

64 cores 0.5TB RAM

140,181

32 cores 0.5TB RAM

32 cores 0.5TB RAM

Vectorwise 6 Jan 2012

$0.75 US

445,529

32 cores 0.75 TB

RAM 100,000

300,000

400,000

200,000

Page 4: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

ParAccel SMP (Vectorwise)のイノベーション

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.

Tim

e /

Cyc

les

to

Pro

cess

Data Processed

DISK

RAM

CHIP

10GB 2-3GB 40-400MB

2-20

15

0-25

0 M

illio

ns

• カラム指向データベース

• 圧縮

• 効率的なブロックI/O

• Queryの並列処理

• CPUの最適化 (オンチップコンピューティング)

Page 5: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

カラム指向データベースのメリット

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ブロックには同様のタ

イプのデータが格納され

ているので圧縮効率を

上げやすい

Page 6: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

カラム指向データベースのデメリット

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)

Page 7: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

自動的な圧縮と解凍

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.

• 複数のアルゴリズムを使ってカラム毎に圧縮

– 最適なものをParAccel SMPが自動的に使用

• 解凍はベクトル処理

– CPUキャッシュ中でデータ処理

RAM

カラム

バッファ

管理

Disk

カラ

CPU

キャッシュ

解凍

RAMへの書き込み・

読み込みを削減

I/Oスループット

を最大化

CPUキャッシュ中に

解凍し格納

Page 8: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

CPUキャッシュ内で処理

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.

• CPUキャッシュのアクセスは、RAMより非常に高速

• すべてのベクトルがCPUキャッシュ内に収まるように問合せの実行プランを作成

Tim

e / C

ycle

s

to P

rocess

Data Processed

DISK

(HDD/SSD)

RAM

CHIP

10GB 2-3GB 40-500MB

2-2

0

15

0-2

50

M

illio

ns

アクセスタイム

転送スピード(毎秒)

DISK 10-15ms 40-100MB

CPU キャッシュ

サイズ

Xeon 512KB/1-2MB

Xeon 50X0 4MB

Xeon 33X0 8 – 12MB

Xeon E7-88XX 24 – 30MB

アクセスタイム

転送スピード(毎秒)

DISK 10-15ms 40-100MB

RAM 150-200ns 2-3GB

アクセス

タイム 転送スピード

(毎秒)

HDD 10-15ms 40-100MB

SSD 0.1-1ms 200-500MB

RAM 150-200ns 2-3GB

Cache 2-20ns 10GB

Page 9: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.

SSE(ストリーミング SIMD 拡張命令)

16個の128bitのレジスタ

(Intel Sandy Bridgeは256bit)

*32bit float * 4

*16bit integer * 8

*8bit byte/char * 16

etc.

*加減算、積除算、比較、最大最小など

*文字列の処理でSSE4.2が効果大

(GROUP BYやLIKEなど)

SSE2はPentium 4, AMD64以降

SSE3は後期Pentium 4,

後期Athlon64以降

SSE4は後期Core2以降

=

.

.

.

1 1 x = 1 2 2 x = 4

3 3 x = 9 4 x 4 = 16 5 x 5 = 25 6 x 6 = 36 7 x 7 = 49 8 x 8 = 64

n x n = n2

1 2 3 4 5 6 7 8 n

1 2 3 4 5 6 7 8 n

xxxxxxxx . . . x

1 4 9 16 25 36 49 64 . . . n2

ベクトル処理とキャッシュ最適化

SIMD (Single Instruction Multiple Data)

Page 10: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

ロードを含めた性能比較

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)

いろいろ

環境

Page 11: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.

TPC-H(dbgen) 10GBをロード時のパフォーマンス(秒) – インデックスなし -

MySQL 5.1

PostgreSQL 8.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

Vectorwise 3.0

某カラムナーDB(1)

某カラムナーDB(2)

ロードを含めた性能比較

Page 12: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

Copyright © 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)

ロードを含めた性能比較

Page 13: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.

TPC-H(qgen) 10GBに対するQuery時のパフォーマンス(秒) - キャッシュなし -

MySQL 5.1

PostgreSQL 8.4

Query1

Query3

Query4

Query6

Query7

Query8

Query9

Query10

Query11

Query12

Query13

Query14

Query16

Query18

Query19

Query20

Query21

Query22

Total

商用RDBMS X

Vectorwise 3.0

某カラムナーDB(1)

某カラムナーDB(2)

MySQLはインデックスなしでは返ってこないので、Primary Keyのみ付与

ロードを含めた性能比較

Page 14: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

DEMO

Copyright © 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万件の解析後の語句

データから日本でホット

だったキーワードを探って

みると?

Page 15: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

Copyright © 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

ParAccel SMP DBMS X

DEMO

Page 16: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.

DEMO

Page 17: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

ParAccel SMP (Vectorwise)の歴史

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.

x100

‘08

‘10

’11

~‘08

’13 ParAccel SMP

Page 18: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

Ingresとの内部構造比較

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.

SQL Parser

Ingres Rewriter

Ingres Optimizer

Ingres Storage & Executor

SQL Parser

Ingres Rewriter

Ingres Optimizer

Classic Ingres Storage

& Executor

X Compiler

Vectorwise Rewriter

Vectorwise Executor

Compressed PAX/DSM

Modify

Heavy Modify

Add

&

Page 19: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

とある導入事例

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.

某RDBMS

某RDBMS

某BIツール

某BIツール

目標:チャートの表示時間を現行の1/4に!

Page 20: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

速くなる、はずが…

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.

*チャート名は、顧客との守秘義務の為、一部変更しております

チャート名 現行 導入後

(修正前)

トップ 186 秒 74 秒

メーカー 77 秒 66 秒

メーカー_規格詳細 11 秒 128 秒

メーカー_品目詳細 16 秒 156 秒

品目 129 秒 66 秒

品目_詳細 28 秒 204 秒

製品カテゴリ 51 秒 7 秒

製品カテゴリ(抜粋) 11 秒 4 秒

製品カテゴリ(抜粋)_詳細 47 秒 8 秒

製品カテゴリ(抜粋)_全店舗一覧 165 秒 22 秒

製品カテゴリ(抜粋)_全店舗一覧(スクロールなし) 88 秒 12 秒

製品カテゴリ_詳細 62 秒 9 秒

製品カテゴリ_全店舗一覧 248 秒 23 秒

製品カテゴリ_全店舗一覧(スクロールなし) 127 秒 16 秒

顧客 60 秒 15分以上

Page 21: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

すんなり導入、とはいきませんが…

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.

• 動作のクセを見抜け!

– ビューの有無や結合の仕方による速度の違い

• 「サポートしている=快適に動く」とは限らない

– BIツールが吐く「非効率なSQL」を制御せよ

• 運用に関する情報は?

– バックアップは?リカバリは?

– Ingresとの共通点多し

Page 22: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

乗り越えれば、世界最速が待っている

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.

*チャート名は、顧客との守秘義務の為、一部変更しております

チャート名 現行 導入後

(修正前)

導入後

(修正後) 短縮率

トップ 186 秒 74 秒 14 秒 92.46 %

メーカー 77 秒 66 秒 19 秒 75.32 %

メーカー_規格詳細 11 秒 128 秒 2 秒 82.35 %

メーカー_品目詳細 16 秒 156 秒 3 秒 81.25 %

品目 129 秒 66 秒 35 秒 72.87 %

品目_詳細 28 秒 204 秒 5 秒 82.14 %

製品カテゴリ 51 秒 7 秒 7 秒 86.27 %

製品カテゴリ(抜粋) 11 秒 4 秒 4 秒 62.50 %

製品カテゴリ(抜粋)_詳細 47 秒 8 秒 8 秒 83.10 %

製品カテゴリ(抜粋)_全店舗一覧 165 秒 22 秒 22 秒 86.64 %

製品カテゴリ(抜粋)_全店舗一覧(スクロールなし) 88 秒 12 秒 12 秒 86.31 %

製品カテゴリ_詳細 62 秒 9 秒 9 秒 85.41 %

製品カテゴリ_全店舗一覧 248 秒 23 秒 23 秒 90.71 %

製品カテゴリ_全店舗一覧(スクロールなし) 127 秒 16 秒 16 秒 87.40 %

顧客 60 秒 15分以上 12 秒 80.00 %

Page 23: [C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama

•無断転載を禁ず

•この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。

•株式会社インサイトテクノロジーは本書の内容に関していかなる保証もしません。また、本書の内容に関連したいかなる損害についても責任を負いかねます。

•本書で使用している製品やサービス名の名称は、各社の商標または登録商標です。