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
x100
LucidDB
4
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ブロックには同様の
タイプのデータが格納 タイプのデータが格納
されているので圧縮効 されているので圧縮効
率を上げにくい 率を上げやすい
5
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)
(*1) 圧縮のデメリットはカラムナーデータベースに限った話ではありません 6
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
8
14. 各デモアプリケーション内での典型的なSQL文のイメージ
SELECT …
FROM Twitter本文 本文
,Twitter言葉 言葉 SQL的には結構、重い
,(各種辞書データ 辞書) SQLになっています。
WHERE 本文.ID = 言葉.ID - キーワードマッチに
(AND 言葉.言葉 = 辞書.言葉 AND 言葉.品詞 = 辞書.品詞) よるCPU負荷
AND upper(本文.140文字のTEXT) like ‘%大文字キーワード%’ - 大量データによる
AND 本文.Tweetされた時刻 between 開始 and 終了 I/O負荷
GROUP BY date_format(Tweetされた時刻,’日付フォーマット’)
,…;
14
15. Vectorwise 2.5.1 DBMS X DBMS X
Redhat Enterprise Redhat Enterprise Redhat Enterprise
Linux 6.2 64bit Linux 5.7 64bit Linux 5.7 64bit
Intel Xeon E5-2690 Intel Xeon E5645 Intel Xeon E5645
2.90GHz * 2 2.40GHz * 4 2.40GHz * 4
256 GB 256 GB 256 GB
SATA SSD * 14 SATA 1K rpm HDD * SATA SSD * 18
(RAID10) 18 (RAID10) (RAID10)
15