Upload
insight-technology-inc
View
793
Download
5
Embed Size (px)
Citation preview
1
Vectorwise
on Real Enterprise Environment
- Comfortable Agile Analytics -
Insight Technology, Inc.
新久保 浩二
2
1. Insight Qube & Vectorwise
2. おら オラ Oracle どっぷり検証生活
2. Oracle ACE
3. @kouji_s_0808
4. JPOUG(Japan Oracle User Group)
本日はOracle以外の話です。
本資料に使用されている社名、ロゴ、製品、サービス名およびブランド名は、該当する各社の登録商標または商標です。本資料の一部あるいは全体について、許可なく複製および転載することを禁じます。
3
1. Vectorwise(Column oriented Database)の概要
2. Agile Analytics による “心地よさ” 体験
4
History
‘70s RDBMS黎明期から開発は行われている
’76 カナダ統計局の RAPID (カナダの国勢調査および統計的処理システム)
* 80年代には世界中でRAPIDが共有され、90年代まで使用された(wikipedia)
’00 長年、Sybase IQが商用のColumnar Databaseとして存在
NOW 近年、大量データにおける分析需要の高まりから様々な製品およびプロジェクトが誕生
また、商用大手ベンダーも列指向と行指向のハイブリッド化を進めている
Commercial
Sybase IQ
Aster Data
Vertica
Greenplum
VectorWise
Free or Open
InfiniDB CE
MonetDB
C-Store
LucidDB x100
5
• 列指向とは?
• メリットは?
(シーケンシャルな)アクセス効率 + データ圧縮 = 分析基盤に向いている
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ブロックには同様の
タイプのデータが格納
されているので圧縮効
率を上げやすい
6
• デメリットは?
一般的に
(ランダムな)アクセスが非効率 + データ圧縮 = 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)
(*1) 圧縮のデメリットはカラムナーデータベースに限った話ではありません
8
- CPU
SIMD (Vector Processing)
Utilizing CPU Cache as execution memory
Parallel Execution (Optimizing CPU many cores)
- IO (Optimizing large data scan)
Column-based Storage
Data Compression
Storage Index
9
SIMD (Single Instruction Multiple Data)
Pentium ⅢよりSSE(Streaming SIMD Extensions)として搭載され、Sandy BridgeよりIntel AVX(Advanced Vector eXtensions)へ
・・
・
・・
・
・・
・
・・
・
・・
・
Instruction
Data
Output
10 (*) DBT3のデータを使ったTPC-H相当のベンチマーク (弊社調べ)
good
11166.392
853.186
82.085
0
2000
4000
6000
8000
10000
12000
RDBMS X on HDD VectorWise2.0 on HDD VectorWise2.0 on SSD
Query22
Query21
Query20
Query19
Query18
Query17
Query16
Query15
Query14
Query13
Query12
Query11
Query10
Query09
Query08
Query07
Query06
Query05
Query04
Query03
Query02
Query01
ElapsedTime
13
倍
高
速
136
倍
高
速
11 (*) 2012/09/14 – 2012/10/09 までのTwitterデータから(弊社調べ)
12
ひらめき
検討
分析 検証
結果
Legacy Analytics
分析は結果として何がアウトプットされるか
プロジェクト初期段階で見えづらい
最初の”ひらめき”の結果が出るまでに、時間と
お金がかかり、最初の“ひらめき”の信頼度の
責任が重い
Agile Analytics
“ひらめき”から超高速に結果に結び付け、
”何度も”分析、検証のプロセスを実行し、
精度の高いアウトプットをプロジェクト
初期段階から得る
数千万~数百億件 程度のデータの分析、
集計なら、サクッとこなしましょうよ。
という単純な話
13
- Twitterのデータが約8,000万件 (2012/09/15 ~ 2012/10/11)
- Mecabによる形態素解析データが約6,000万件 (日本語圏のTweetのみ対象)
- 奈良先端大学の日本語評価極性辞書が1.1万件
(http://cl.naist.jp/~inui/research/EM/sentiment-lexicon.html)
- Juman辞書内のドメイン情報が1.3万件
関連する言葉ランキングや、マクロな気持ち(Positive/Negative)
を分析する人工無脳
* 出力されるアウトプットには全く責任を負えませんので悪しからず…
14
SELECT …
FROM Twitter本文 本文
,Twitter言葉 言葉
,(各種辞書データ 辞書)
WHERE 本文.ID = 言葉.ID
(AND 言葉.言葉 = 辞書.言葉 AND 言葉.品詞 = 辞書.品詞)
AND upper(本文.140文字のTEXT) like ‘%大文字キーワード%’
AND 本文.Tweetされた時刻 between 開始 and 終了
GROUP BY date_format(Tweetされた時刻,’日付フォーマット’)
,…;
各デモアプリケーション内での典型的なSQL文のイメージ
SQL的には結構、重い
SQLになっています。
- キーワードマッチに
よるCPU負荷
- 大量データによる
I/O負荷
15
Redhat Enterprise
Linux 6.2 64bit
Intel Xeon E5-2690
2.90GHz * 2
256 GB
Redhat Enterprise
Linux 5.7 64bit
Intel Xeon E5645
2.40GHz * 4
256 GB
SATA SSD * 14
(RAID10)
SATA 1K rpm HDD *
18 (RAID10)
Redhat Enterprise
Linux 5.7 64bit
Intel Xeon E5645
2.40GHz * 4
256 GB
SATA SSD * 18
(RAID10)
DBMS X Vectorwise 2.5.1 DBMS X
16
17
DBMS-X on SSD
Vectorwise on SSD
168.4秒 → 6.7秒
18 (*) WEB上の各種記事より (弊社調べ)
まず、データからイメージしてもらいたいこと
製造業、金融業 (コールセンター)
製造業大手では、お客様からの問い合わせ情報が5年で2,000万件弱
製薬
製薬業界データで年間1,000 ~ 1,500万件、MR関連データで500万件
マーケティングデータで数千万件
流通(POS)
売上規模によるが、明細レベルで、年間、数十億 ~ 数百億件
19 (*) 弊社調べ
Time is money
is priceless
ひらめき
20
Any Questions ?