pandazx's blog

データ分析など雑多な技術ブログ

第1回Vertica勉強会メモ

勉強会ページ

非公式ハッシュタグは#vertica_meetup

◼︎20分でわかるVertica
概要紹介のみ

◼︎DeNAアナリスト業務
データ発生からVerticaに入るまでの時間は?1時間以下程度。遅くて2-3時間。おそらく、前者がkafka経由、後者がHadoop経由

◼︎DeNAのVertica運用
Verticaクラスタ台数14台
ストレージ4TBx12ディスク RAID10
1Gbps x2 bonding

以下、これまでのトラブルシューティング

データロードでエラー検出されない
ABORT ON ERRORつければよい
copy reject on なんとかもある

分散キーのカラムの型は変更不可

あるクエリがリソース占有して、他のクエリが実行できなくなっていた
resource poolで使用リソース制限できる

テーブル一覧などのメタデータアクセスのクエリが遅かった。変なパラメータをチューニングしていたことが原因

Verticaへのデータロードは工夫してる?
してない。まだ問題になってない
kafka経由では、ちょろちょろロードして、Hadoop経由では、ある程度、まとめてロードしている

◼︎CTC. vertica始めました
ベンチマーク結果の発表
並列データロードで高速化

◼︎Verticaの速さの秘密、プロジェクション
テーブルには論理構造のみ、プロジェクションにはデータが入る

Run Length Encoding(RLE)
一般的な圧縮エンコーディングの1つ
連続するデータを繰り返し数で置き換える

select *のクエリを実行する場合はMPP使ったクエリで最後にマージすると高速化できる

データベースの自動チューニング
comprehensiveモードは全列並び替え
incrimentalモードは特定クエリで特定カラムのみのプロジェクションを作る

アグリゲートプロジェクション
集計関数を使う場合にデータロード時に集計を終わらせてしまう

プレジョインプロジェクション
ジョインをデータロード時に終わらせておく

moveout
データロード直後は断片化されたファイル。バックエンドで徐々に整理される

データベースデザイナーはGUICUIがある