d22 目覚めよdbエンジニア 〜世界最速カラムナーデータベースは本物だ!〜...

Post on 10-Jun-2015

2.414 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

top related