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

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
世界最速!
TPC-H ベンチマークのトップ 8(Non-Clustered 1TB ) 2013/7/11時点
Vectorwise
3 May 2011

Vectorwise
6 Jan 2012

400,000

Performanc...
ParAccel SMP (Vectorwise)のイノベーション
• カラム指向データベース
• 圧縮

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

DISK

150-250

RAM
CHIP

2-20

Time / Cycles...
カラム指向データベースのメリット
•

列指向とは?

•

メリットは?

(シーケンシャルな)アクセス効率 + データ圧縮 = 分析基盤に向いている
Prod ID

Prod Name

Date

Prod ID

Prod Name
...
カラム指向データベースのデメリット
•

デメリットは?
一般的に

(ランダムな)アクセスが非効率 + データ圧縮 = OLTP基盤に向いていない
Prod ID

Prod Name

Date

Prod ID

Prod Name

D...
自動的な圧縮と解凍
• 複数のアルゴリズムを使ってカラム毎に圧縮
– 最適なものをParAccel SMPが自動的に使用

• 解凍はベクトル処理
– CPUキャッシュ中でデータ処理
I/Oスループット
を最大化

CPUキャッシュ中に
解凍し...
CPUキャッシュ内で処理
• CPUキャッシュのアクセスは、RAMより
非常に高速
• すべてのベクトルがCPUキャッシュ内に
収まるように問合せの実行プランを作成
Millions

HDD
DISK

10-15ms

40-100MB
4...
ベクトル処理とキャッシュ最適化
SIMD (Single Instruction Multiple Data)
1
2
3
4
5
6
7
8

x
x
x
x
x
x
x
x

1
2
3
4
5
6
7
8

=
=
=
=
=
=
=
=...
ロードを含めた性能比較

環境

Redhat Enterprise
Linux 6.3 64bit

Intel Xeon L5640
2.27GHz(6core) * 2

48GB

SAS HDD * 2 (RAID1)

いろいろ

...
ロードを含めた性能比較
TPC-H(dbgen) 10GBをロード時のパフォーマンス(秒) – インデックスなし PostgreSQL
8.4

MySQL
5.1

商用RDBMS
X

Vectorwise
3.0

customer
(2...
ロードを含めた性能比較
データロード性能

(秒)

(GB)

1400

18
16

1200

14
1000
12
800

10

600

8
6

400
4
200

2

0

0
PostgreSQL
8.4

MySQL...
ロードを含めた性能比較
TPC-H(qgen) 10GBに対するQuery時のパフォーマンス(秒) - キャッシュなし PostgreSQL
8.4

MySQL
5.1

商用RDBMS
X

Vectorwise
3.0

Query1
Q...
DEMO
世界中のツイート(*1)の1%
を抽出
(2012/4/23 - 2012/4/25)

1000万件のツイートデータ
から世界のツイート数の国別
ランキングを出してみると?

ツイートの語句解析(MeCabに
よる形態素解析)

9...
DEMO
DBMS X

ParAccel SMP

Redhat Enterprise
Linux 5.7 64bit

Redhat Enterprise
Linux 5.7 64bit

Intel Xeon X5672
3.20GHz ...
DEMO

Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
ParAccel SMP (Vectorwise)の歴史

~‘08

x100

‘08
‘10

’11
’13

ParAccel SMP
Copyright © 2013 Insight Technology, Inc. All Rig...
Ingresとの内部構造比較
&

SQL Parser

SQL Parser

Ingres Rewriter

Ingres Rewriter

Modify

Ingres Optimizer

Ingres Optimizer

He...
とある導入事例
某RDBMS

某BIツール

某RDBMS

某BIツール

目標:チャートの表示時間を現行の1/4に!
Copyright © 2013 Insight Technology, Inc. All Rights Reserve...
速くなる、はずが…
チャート名

現行

導入後
(修正前)

186 秒

74 秒

メーカー

77 秒

66 秒

メーカー_規格詳細

11 秒

128 秒

メーカー_品目詳細

16 秒

156 秒

129 秒

66 秒...
すんなり導入、とはいきませんが…
• 動作のクセを見抜け!
– ビューの有無や結合の仕方による速度の違い

• 「サポートしている=快適に動く」とは限らない
– BIツールが吐く「非効率なSQL」を制御せよ

• 運用に関する情報は?
– バッ...
乗り越えれば、世界最速が待っている
チャート名

現行

導入後
(修正前)

導入後
(修正後)

短縮率

186 秒

74 秒

14 秒

92.46 %

メーカー

77 秒

66 秒

19 秒

75.32 %

メーカー_...
•無断転載を禁ず
•この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。
•株式会社インサイトテクノロジーは本書の内容に関していかなる保証もしません。また、本書の内容に関連したいかなる
損害についても責任...
Upcoming SlideShare
Loading in...5
×

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

736

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
736
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
20
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama"

  1. 1. 世界最速 カラムナーDBは本物だ! ParAccel SMP (Vectorwise) 平間 大輔 Insight Technology, Inc. Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  2. 2. 世界最速? Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  3. 3. 世界最速! TPC-H ベンチマークのトップ 8(Non-Clustered 1TB ) 2013/7/11時点 Vectorwise 3 May 2011 Vectorwise 6 Jan 2012 400,000 Performance (QphH@1TB) 300,000 Oracle 200,000 Oracle Sybase IQ 15 Dec 2010 3 Jun 2011 Microsoft 5 Apr 2011 26 Apr 2010 Microsoft 30 Aug 2011 Oracle 26 Sep 2011 32 cores 1 TB RAM 32 cores 0.75 TB RAM 64 cores 0.5TB RAM 80 cores 2TB RAM 32 cores 0.5TB RAM 64 cores 0.5TB RAM 32 cores 0.5TB RAM 80 cores 2TB RAM 140,181 164,747 173,961 436,788 445,529 209,533 219,887 201,487 $12.15 US 100,000 $6.85 US $1.37 US $0.88 US $0.75 US $9.53 US $1.86 US $4.60 US 0 Price/Performance US$/QphH@1TB Source: www.tpc.org / Jul 11, 2013 TPC, TPC Benchmark, TPC-H, QppH, QthH and QphH are trademarks of the Transaction Processing Performance Council (TPC) Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  4. 4. ParAccel SMP (Vectorwise)のイノベーション • カラム指向データベース • 圧縮 • 効率的なブロックI/O Millions DISK 150-250 RAM CHIP 2-20 Time / Cycles to Process • Queryの並列処理 40-400MB 2-3GB 10GB • CPUの最適化 (オンチップコンピューティング) Data Processed Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  5. 5. カラム指向データベースのメリット • 列指向とは? • メリットは? (シーケンシャルな)アクセス効率 + データ圧縮 = 分析基盤に向いている Prod ID Prod Name Date Prod ID Prod Name Date Prod ID Prod Name Date Prod ID Prod Name Date Prod ID Prod Name Date Prod ID Prod Name Date Prod ID Prod Name Date Prod ID Prod Name Date Prod ID Prod Name Date Prod ID Prod Name Date •1ブロックには様々なタ イプのデータが格納され ているので圧縮効率を 上げにくい •1ブロックには同様のタ イプのデータが格納され ているので圧縮効率を 上げやすい Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  6. 6. カラム指向データベースのデメリット • デメリットは? 一般的に (ランダムな)アクセスが非効率 + データ圧縮 = OLTP基盤に向いていない Prod ID Prod Name Date Prod ID Prod Name Date Prod ID Prod Name Date Prod ID Prod Name Date Prod ID Prod Name Date Prod ID Prod Name Date Prod ID Prod Name Date Prod ID Prod Name Date Prod ID Prod Name Date Prod ID Prod Name Date •更新時に圧縮・展開 •のオーバーヘッドが •大きい(*1) Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  7. 7. 自動的な圧縮と解凍 • 複数のアルゴリズムを使ってカラム毎に圧縮 – 最適なものをParAccel SMPが自動的に使用 • 解凍はベクトル処理 – CPUキャッシュ中でデータ処理 I/Oスループット を最大化 CPUキャッシュ中に 解凍し格納 カラム カラム キャッシュ バッファ 管理 解凍 Disk RAM CPU RAMへの書き込み・ 読み込みを削減 Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  8. 8. CPUキャッシュ内で処理 • CPUキャッシュのアクセスは、RAMより 非常に高速 • すべてのベクトルがCPUキャッシュ内に 収まるように問合せの実行プランを作成 Millions HDD DISK 10-15ms 40-100MB 40-100MB 0.1-1ms 200-500MB 150-200ns 2-3GB RAM 150-200ns 2-3GB Cache 2-20ns 10GB RAM 150-250 CPU キャッシュ サイズ 4MB 8 – 12MB Xeon E7-88XX 2-3GB 512KB/1-2MB Xeon 33X0 40-500MB Xeon Xeon 50X0 CHIP 2-20 Time / Cycles to Process 転送スピード 転送スピード (毎秒) (毎秒) SSD RAM DISK (HDD/SSD) アクセス アクセスタ タイム イム 24 – 30MB 10GB Data Processed Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  9. 9. ベクトル処理とキャッシュ最適化 SIMD (Single Instruction Multiple Data) 1 2 3 4 5 6 7 8 x x x x x x x x 1 2 3 4 5 6 7 8 = = = = = = = = 1 4 9 16 25 36 49 64 . . . n x n = n2 1 2 3 4 5 6 7 8 x x x x x x x x . . . nx 1 1 2 4 3 9 4 16 5 25 6 = 36 7 49 8 64 . . . n n2 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以降 Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  10. 10. ロードを含めた性能比較 環境 Redhat Enterprise Linux 6.3 64bit Intel Xeon L5640 2.27GHz(6core) * 2 48GB SAS HDD * 2 (RAID1) いろいろ Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  11. 11. ロードを含めた性能比較 TPC-H(dbgen) 10GBをロード時のパフォーマンス(秒) – インデックスなし PostgreSQL 8.4 MySQL 5.1 商用RDBMS X Vectorwise 3.0 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) Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 某カラムナー DB(1) 某カラムナー DB(2)
  12. 12. ロードを含めた性能比較 データロード性能 (秒) (GB) 1400 18 16 1200 14 1000 12 800 10 600 8 6 400 4 200 2 0 0 PostgreSQL 8.4 MySQL 5.1 商用RDBMS X データサイズ(GB) Vectorwise 3.0 ロード時間(秒) Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 某カラムナー DB(1) 某カラムナー DB(2)
  13. 13. ロードを含めた性能比較 TPC-H(qgen) 10GBに対するQuery時のパフォーマンス(秒) - キャッシュなし PostgreSQL 8.4 MySQL 5.1 商用RDBMS X Vectorwise 3.0 Query1 Query3 MySQLはインデッ クスなしでは返って こないので、 Primary Keyの み付与 Query4 Query6 Query7 Query8 Query9 Query10 Query11 Query12 Query13 Query14 Query16 Query18 Query19 Query20 Query21 Query22 Total Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 某カラムナー DB(1) 某カラムナー DB(2)
  14. 14. DEMO 世界中のツイート(*1)の1% を抽出 (2012/4/23 - 2012/4/25) 1000万件のツイートデータ から世界のツイート数の国別 ランキングを出してみると? ツイートの語句解析(MeCabに よる形態素解析) 99% データベースにロード 1% デモのためデータを5倍に増幅 - ツイートデータで1000万件 (10GB) - 解析後語句データで260万件 tweets demo tweets 1000万件のツイートデータ から世界のツイートの時間帯 別ツイート数の推移を見てみ ると? (100MB) データロードは各データベースベ ンダーが用意するローダーを使用 Copyright © 2013 Insight Technology, Inc. All Rights Reserved. 1000万件のツイートデータ と260万件の解析後の語句 データから日本でホット だったキーワードを探って みると?
  15. 15. DEMO DBMS X ParAccel SMP Redhat Enterprise Linux 5.7 64bit Redhat Enterprise Linux 5.7 64bit Intel Xeon X5672 3.20GHz * 2 Intel Xeon E5645 2.40GHz * 4 48GB 48GB SATA SSD * 6 (RAID10) SATA 1K rpm HDD * 18 (RAID50) Vectorwise 2.5.1 DBMS X Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  16. 16. DEMO Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  17. 17. ParAccel SMP (Vectorwise)の歴史 ~‘08 x100 ‘08 ‘10 ’11 ’13 ParAccel SMP Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  18. 18. Ingresとの内部構造比較 & SQL Parser SQL Parser Ingres Rewriter Ingres Rewriter Modify Ingres Optimizer Ingres Optimizer Heavy Modify X Compiler Ingres Storage & Executor Classic Ingres Storage & Executor Copyright © 2013 Insight Technology, Inc. All Rights Reserved. Vectorwise Rewriter Vectorwise Executor Compressed PAX/DSM Add
  19. 19. とある導入事例 某RDBMS 某BIツール 某RDBMS 某BIツール 目標:チャートの表示時間を現行の1/4に! Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  20. 20. 速くなる、はずが… チャート名 現行 導入後 (修正前) 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分以上 トップ 品目 製品カテゴリ(抜粋)_全店舗一覧 顧客 *チャート名は、顧客との守秘義務の為、一部変更しております Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  21. 21. すんなり導入、とはいきませんが… • 動作のクセを見抜け! – ビューの有無や結合の仕方による速度の違い • 「サポートしている=快適に動く」とは限らない – BIツールが吐く「非効率なSQL」を制御せよ • 運用に関する情報は? – バックアップは?リカバリは? – Ingresとの共通点多し Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  22. 22. 乗り越えれば、世界最速が待っている チャート名 現行 導入後 (修正前) 導入後 (修正後) 短縮率 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 % トップ 品目 製品カテゴリ(抜粋)_全店舗一覧 顧客 *チャート名は、顧客との守秘義務の為、一部変更しております Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
  23. 23. •無断転載を禁ず •この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。 •株式会社インサイトテクノロジーは本書の内容に関していかなる保証もしません。また、本書の内容に関連したいかなる 損害についても責任を負いかねます。 •本書で使用している製品やサービス名の名称は、各社の商標または登録商標です。
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×