© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
マイケルストーンブレーカー発の
超高速データベースで実現する
分析基盤の簡単構築・運用ステップ
大薗 純平
日本ヒューレット・パッカード株式会社
ビッグデータソフトウェアプラットフォーム事業本部
プリセールスコンサルタント
2015年6月10日
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.2
自己紹介
大薗 純平(おおぞの じゅんぺい)
o Verticaプリセールスコンサルタント@日本HP
o 2012年、HPが Vertica社を買収したタイミングから、
Verticaを使用したシステムの提案および構築プロ
ジェクトに複数参画
o 現在、Verticaを含めたビッグデータビジネスに関連
する提案活動およびPOCを担当
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.3
Congratulation!
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.4
マイケルストーンブレーカー氏の功績
C-store
1970 1980 2005 2015
技術継承 技術継承 商用化
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.5
とは?
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.6
イメージ
Verticaのイメージと実際
Speed Scalability
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.7
実際
Verticaのイメージと実際
Speed Scalability Simple+
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.8
Verticaの特徴
Speed
Scalability
Simple
o 列指向+超並列構成による圧倒的なパフォーマンス
o Vertica独自のプロジェクションによる圧倒的な速度向上
o マスターノードを持たない、無限のスケールアウト構成
o ノード追加によるリニアな性能向上が可能
o 既存のDBの知識、標準SQLですぐに分析可能
o 複雑なチューニングは不要
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.9
■列指向
■超並列構成
■プロジェクション
超高速データベースソフトウェア
CPU
Memory
Disk
CPU
Memory
Disk
CPU
Memory
Disk
Speed
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.10
Verticaでは、テーブルは論理スキーマとして定義
create table table1
(日付 date ,顧客ID(int),店舗 varchar(10),エリアvarchar(10) , 売上高(int));
プロジェクションとは?
プロジェクションは物理スキーマとして定義(自動ツールによりチューニング)
日付 顧客ID 店舗 エリア 売上高
date int varchar(10) varchar(10) Int
日付 顧客ID 店舗 エリア 売上高
0701 10001 新宿 東京 100
0701 10002 新宿 東京 1,000
0702 10003 名古屋 名古屋 1,0000
0703 10004 梅田 大阪 2,400
0703 10005 池袋 東京 1,600
0703 10006 新宿 東京 6,400
0705 10007 品川 東京 1,000
0706 10008 梅田 大阪 1,100
0706 10009 名古屋 名古屋 1,300
日付 売上高
0701 100
1,000
0702 1,0000
0703 2,400
1,600
6,400
0705 1,000
0706 1,100
1,300
Projection-1 Projection-2
エリア 店舗 日付 売上高 顧客ID
大阪 梅田 0703 2,400 10004
0706 1,100 10008
東京 池袋 0703 1,600 10005
品川 0705 1,000 10007
新宿 0701 100 10001
1,000 10002
0703 6,400 10006
名古屋 名古屋 0702 1,0000 10003
0706 1,300 10009
大阪梅田の平均売上高 7/6の売り上げ
クエリー毎に最適化を事前に行うことも可能
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.11
マスターノードのない、真のMPP構成
HP Vertica = Shared Nothing MPP マスターノードがあるMPP
→低いConcurrency→高いConcurrency
Clients Clients Clients Clients
すべてのノードがクエリを受けられる
Node#1
CPU
Memory
Node#2
CPU
Memory
Node#3
CPU
Memory
Node#N
CPU
Memory
Node#1
CPU
Memory
Node#2
CPU
Memory
Node#3
CPU
Memory
Node#N
CPU
Memory
Master Node
ClientsClientsClients
クエリが必ず特定
ノードを経由する
Scalability
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.12
Simple?
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.13
Vertica構築・運用ステップ
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Simple
運用構築
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.14
1. Vertica Install
Vertica構築・運用ステップ
任意ノードでrpm & Install Script実行
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Node#1 Node#2 Node#N…
Vertica
rpm
①事前準備
・予め、Verticaのインストール要件を満たすHW/NW/OS設定としておく
・全ノードのOS設定/DIR構成を同一としておく
Install
Script ③Install Script実行
rpm実行により生成されたInstall
Scriptを実行。どのサーバーをVertica
クラスタに含めるか指定する
Vertica
Node#1 Node#2 Node#N…
Vertica
rpm
Install
Script
全ノードにVerticaプロセス/モジュール/
専用OSユーザ(dbadmin)が生成される
②rpm実行
Verticaインストール用rpmファイルを、
myVertica(https://my.vertica.com/)からダウンロード。
任意の1ノードに配置し、実行
①事前準備(全ノード)
②rpm実行(1ノード)
③Install script実行(1ノード)
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.15
1. Vertica Install
Vertica構築・運用ステップ
①事前準備 OSインストール前
■構成例(オンプレミス)
Private
Public
冗長化
推奨ディスク構成
o すべて内臓ディスクで構成する
o OS, カタログ領域とデータ領域の
パーティションを分ける
SAS:300GB x 2
SAS:600GB x N
RAID1
(OS, カタログ)
RAID10
(データ)
・・・・・
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
ネットワークはPrivate/Publicの2系統
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.16
1. Vertica Install
Vertica構築・運用ステップ
①事前準備 OSインストール前
(ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/
項目 内容
Supported Platform Linux(64bit)をサポート:
RHEL5.x,6.x / CentOS5.x,6.x / SUSE11.0-11.0SP3 / Debian6,7.0-7.5 etc
LVM FilesystemはLVMで構成しない
(データ領域だけでなく、OS, カタログ領域も)
Filesystem ext3またはext4をサポート(ext4推奨)
Swap Space メモリーサイズにかかわらず、2Gbyteを推奨(2Gbyte以上でもサポートします。)SWAP
領域は、Verticaのデータ領域と同じDISKには配置しない
Disk Block Size 4,096bytes
Memory 物理Core毎に8GB以上を推奨
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.17
1. Vertica Install
Vertica構築・運用ステップ
①事前準備 OSインストール後
項目 内容
Disk Readahead データ領域のデバイスのReadaheadの設定:2,048以上
NTP Services NTPデーモンを有効化
SELinux DisabledまたはPermissiveに設定
Firewall Disabledに設定
CPU Frequency Scaling CPU Idle時、省電力モードにならない設定(設定方法はサーバーに依存)
Transparent Hugepages Disabledまたはmadviseに設定
I/O Scheduler 全領域のデバイスI/O Schedulerをdeadlineに設定
(ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.18
1. Vertica Install
Vertica構築・運用ステップ
①事前準備 OSインストール後
項目 内容
Support Tools Pstack(CentOSの場合は、gdb), mcelog, Sysstatのインストールを推奨
Default shell インストールユーザーのデフォルトシェルは、BASH Shellとする
LANG Environment インストールユーザーのLANGをUTF-8に設定
TZ Environment インストールユーザーのTimezoneを適切に設定(Asia/Tokyoなど)
Partition データ領域、カタログ領域のパーティションを作成
(すべてのノード共通)
※データベース作成時に、これらのパーティションのディレクトリ名を指定
(ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.19
1. Vertica Install
Vertica構築・運用ステップ
②rpm実行
Node#1 に、rpmファイルをアップロード
Node#1でrootまたはsudo権限ユーザで以下を実行
# rpm -Uvh vertica-7.1.1-12.x86_64.RHEL5.rpm
(ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.20
1. Vertica Install
Vertica構築・運用ステップ
②rpm実行
(ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.21
1. Vertica Install
Vertica構築・運用ステップ
③Install Script実行
Node#1でrootまたはsudo権限ユーザでInstall scriptを実行
# /opt/vertica/sbin/install_vertica
--hosts node01,node02,node03 (Private Networkを指定)
--rpm vertica-7.1.1-12.x86_64.RHEL5.rpm
--ssh-password root’s Password
--dba-user-password dbadmin’s Password
--failure-threshold NONE (NONEとすることでWarning等を無視してインストール)
(ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.22
1. Vertica Install
Vertica構築・運用ステップ
③Install Script実行
(ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.23
1. Vertica Install
Vertica構築・運用ステップ
③Install Script実行
(ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.24
1. Vertica Install
Vertica構築・運用ステップ
③Install Script実行
(ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Vertica
Node#1 Node#2 Node#N…
Vertica
rpm
Install
Script
全ノードにVerticaプロセス/モジュール/
専用OSユーザ(dbadmin)が生成される
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.25
2. DB作成
Vertica構築・運用ステップ
Vertica上にDBを作成する(CUI / GUIで作成可能)
Vertica Install DB作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Vertica
Node#1
PC
TeraTerm/putty etc
Node#2 Node#N
Admin
tools
ssh
DBで使用するディレクトリを指定する
・Vertica定義ファイルを格納するディレクトリ(Catalog)
・データを格納するディレクトリ(Data)
データベース
…
Management Console
https
ディレクトリだけ指定する
Schema/Table
作成
LB設定
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.26
2. DB作成
Vertica構築・運用ステップ
Vertica Install DB作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
CUI (admintools)での作成例
Schema/Table
作成
LB設定
dbadmin userで
admintools起動
6. Configuration Menu 1. Create Database
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.27
2. DB作成
Vertica構築・運用ステップ
Vertica Install DB作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Schema/Table
作成
LB設定
DB名を指定 パスワードを指定 パスワードの確認
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.28
2. DB作成
Vertica構築・運用ステップ
Vertica Install DB作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Schema/Table
作成
LB設定
対象ノードの指定
カタログ領域とデータ領
域のPathを指定
確認画面
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.29
2. DB作成
Vertica構築・運用ステップ
Vertica Install DB作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Schema/Table
作成
LB設定
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.30
2. DB作成
Vertica構築・運用ステップ
Vertica Install DB作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Schema/Table
作成
LB設定
DB作成完了 DBの状態確認
起動できるのは1つの
DBのみ
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.31
3. Schema/Table作成
Vertica構築・運用ステップ
DB上にSchema/Tableを作成(SQL - Create Schema/Table発行)
Vertica Install DB作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Vertica
Node#1
PC
TeraTerm/putty etc
Node#2 Node#N
vsql ssh
スキーマ( データの論理集合)の生成
データベース
…
Management Console
スキーマ
DDL
Schema/Table
作成
LB設定
テーブルの生成=メタデータのみ
(プロジェクション:物理構造は未生成)
ANSI99標準SQL 使用
分散キー、ソートキー等の指定は不要
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.32
3. Schema/Table作成
Vertica構築・運用ステップ
DB上にSchema/Tableを作成(SQL - Create Schema/Table発行)
■DDLサンプル
create schema online_sales;
create table online_sales.online_page_dimension
( online_page_key integer not null primary key,
start_date date,
end_date date,
page_number integer,
page_description varchar(100),
page_type varchar(100)
);
Vertica Install DB作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Schema/Table
作成
LB設定
ANSI99準拠の標準SQL
分散キー等の設計は不要
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.33
3. Schema/Table作成
Vertica構築・運用ステップ
Vertica Install DB作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Schema/Table
作成
LB設定
vsql にログインしてDDLを実行 psql
Postgresのpsqlとほぼ同じインターフェース
メタコマンドも使用可能
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.34
3. Schema/Table作成
Vertica構築・運用ステップ
Vertica Install DB作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Schema/Table
作成
LB設定
この段階ではプロジェクションは未生成
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.35
4. LB設定
Vertica構築・運用ステップ
適切に接続ノードの振り分けを行うため、Native Load Balancing機能を有効化
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Vertica
Node#1
PC
TeraTerm/putty etc
Node#2 Node#N
vsql ssh
Native Load balancing有効化
(振り分けポリシーの設定)
データベース
…
Management Console
スキーマ
DDL
DB側とクライアント側で設定必要
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.36
4. LB設定
Vertica構築・運用ステップ
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
クライアント
システム
Vertica
①LB有効化(LBポリシーの指定)
RoundrobinまたはRandom③ConnectionLoadBalance有効化
②LB用Networkの設定
LBポリシーに
準じて振り分け
ダウンノードは
振分対象から除外
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.37
4. LB設定
Vertica構築・運用ステップ
①LB有効化(LBポリシーの指定)
以下のポリシーから、選択
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Load Balance Policy 動作
NONE Load balanceさせない設定(デフォルト)
ROUNDROBIN ノード名順に振り分け
RANDOM ランダムに振り分け
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.38
4. LB設定
Vertica構築・運用ステップ
①LB有効化(LBポリシーの指定)
実行例
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
NONE(Default)から
Roundrobinに変更
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.39
4. LB設定
Vertica構築・運用ステップ
②LB用Networkの設定
実行例
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
クライアントから接続するPublic
アドレスのSUBNET定義を作成
データベースにSUBNET定義を
登録
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.40
4. LB設定
Vertica構築・運用ステップ
③ConnectionLoadBalance有効化(クライアント)
実行例
Vsqlから接続する場合
-Cオプションを付加して接続
$ vsql –h 192.168.195.102 –U dbadmin –C
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
LBが使われている
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.41
4. LB設定
Vertica構築・運用ステップ
③ConnectionLoadBalance有効化(クライアント)
実行例
JDBCから接続する場合
コネクション接続時に、接続文字列に以下のパラメータをセットする
ConnectionLoadBalance=1
ODBCから接続する場合
ODBC DSNにて「Use connection load balancing」にチェックを入れる
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.42
5. 初期Data load
Vertica構築・運用ステップ
データの傾向が分かる、サンプルデータをロード
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Vertica
Node#1
PC
TeraTerm/putty etc
Node#2 Node#N
データベース
…
Management Console
スキーマ
初期プロジェクションの作成
最適な圧縮・ソートなし、全カラム保持
ETL Server
APL
Data
Bulkロードで高速インポート
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.43
5. 初期Data load
Vertica構築・運用ステップ
COPYコマンド
• テキストファイルをINPUTとし、バルクロードが可能
COPY <テーブル名> FROM <ファイル名>;
※ファイルのエンコーディングはUTF-8であること
• COPYコマンドは、同一テーブルに同時に複数実行可能
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Vertica DB Server
TABLE
COPY
-- Data File
111,222,333
:
: xSV形式、固定長のファイル
データを自動的にハッシュ分散
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.44
5. 初期Data load
Vertica構築・運用ステップ
COPYコマンドの例
Online_sales.load.sql
------------------------------------------------------------------------------------
set t_pwd `pwd`
set input_file1 '''':t_pwd'/online_sales_fact.tbl'''
COPY Online_Sales_Fact FROM :input_file1 DELIMITER '|' NULL '' DIRECT;
------------------------------------------------------------------------------------
Online_Sales_Factテーブルに、online_sales_fact.tblファイル、区切り文字が|のものをロード
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.45
5. 初期Data load
Vertica構築・運用ステップ
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
■ロード完了
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.46
5. 初期Data load
Vertica構築・運用ステップ
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
■初期プロジェクションが生成された
データが各ノードに
分散配置されている
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.47
5. 初期Data load
Vertica構築・運用ステップ
■生成されたプロジェクションDDL
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
SELECT
online_sales_fact.sale_date_key,
:
online_sales_fact.transaction_type
FROM online_sales.online_sales_fact
CREATE PROJECTION online_sales.online_sales_fact /*+createtype(L)*/(
sale_date_key,
:
transaction_type
) AS
列の選択&
圧縮タイプの指定
実データの指定
ORDER BY online_sales_fact.sale_date_key,
:
online_sales_fact.transaction_type
列の並び替え
SEGMENTED BY HASH(online_sales_fact.sale_date_key, …
online_sales_fact.transaction_type) ALL NODES;
ノードに分散する
HASH KEYの指定
圧縮タイプは未選択
最適な並びでない可能性
最適なキーでない可能性
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.48
6. DB最適化(DB Designer)
Vertica構築・運用ステップ
DB Designerの”Comprehensive”モードでDB初期最適化を実行
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Vertica
Node#1
PC
TeraTerm/putty etc
Node#2 Node#N
データベース
…
Management Console
スキーマ
最適化Projectionの生成
圧縮・ソートあり、全カラム保持
Admin
tools
ssh
https
CUI または GUI
から実行可能
query
プロジェクションを自動で再作成
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.49
DB Designer
自動チューニング
今までのRDBMSの知識で
テーブル、SQLの作成
最高のパフォーマンスが出せる物理デザインをVerticaが自動で作成
日付 顧客ID 店舗 エリア 売上高
0701 10001 新宿 東京 100
0701 10002 新宿 東京 1,000
0702 10003 名古屋 名古屋 1,0000
0703 10004 梅田 大阪 2,400
0703 10005 池袋 東京 1,600
0703 10006 新宿 東京 6,400
0705 10007 品川 東京 1,000
0706 10008 梅田 大阪 1,100
0706 10009 名古屋 名古屋 1,300
エリア 店舗 日付 売上高 顧客ID
大阪 梅田 0703 2,400 10004
0706 1,100 10008
東京 池袋 0703 1,600 10005
品川 0705 1,000 10007
新宿 0701 100 10001
1,000 10002
0703 6,400 10006
名古屋 名古屋 0702 1,0000 10003
0706 1,300 10009
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.50
1256678
1254038
1278858
1230807
Student_ID
1210466
1249290
1244262
1252490
1267170
1248100
1243483
1230382
1240224
1222781
1231806
1246648
Cappiello, Emilia
Dalal, Alana
Orner, Katy
Frigo, Avis
Name
Stober, Saundra
Borba, Milagros
Sosnowski, Hillary
Nibert, Emilia
Popovic, Tanisha
Schreckengost, Max
Porcelli, Darren
Sinko, Erik
Tarvin, Julio
Lessig, Elnora
Thon, Max
Trembley, Allyson
F
F
F
M
Gender
F
F
F
F
F
M
M
M
M
F
M
F
Sophomore
Senior
Junior
Senior
Class
Junior
Freshman
Junior
Sophomore
Freshman
Senior
Junior
Freshman
Sophomore
Junior
Sophomore
Junior
62
92
76
64
Score
90
96
68
59
95
76
67
91
85
63
82
100
D
A
C
D
Grade
A
A
D
F
A
C
D
A
B
D
B
A
自動で最適なデータ配置を作成
Example query:
select avg( Score ) from example where
Class = ‘Junior’ and Gender = ‘F’ and Grade = ‘A’
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.51
1256678
1254038
1278858
1230807
Student_ID
1210466
1249290
1244262
1252490
1267170
1248100
1243483
1230382
1240224
1222781
1231806
1246648
Cappiello, Emilia
Dalal, Alana
Orner, Katy
Frigo, Avis
Name
Stober, Saundra
Borba, Milagros
Sosnowski, Hillary
Nibert, Emilia
Popovic, Tanisha
Schreckengost, Max
Porcelli, Darren
Sinko, Erik
Tarvin, Julio
Lessig, Elnora
Thon, Max
Trembley, Allyson
F
F
F
M
Gender
F
F
F
F
F
M
M
M
M
F
M
F
Sophomore
Senior
Junior
Senior
Class
Junior
Freshman
Junior
Sophomore
Freshman
Senior
Junior
Freshman
Sophomore
Junior
Sophomore
Junior
62
92
76
64
Score
90
96
68
59
95
76
67
91
85
63
82
100
D
A
C
D
Grade
A
A
D
F
A
C
D
A
B
D
B
A
Queryに最適化されたカラム配置に並び替え
データ保持イメージ①
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.52
1256678Cappiello, EmiliaF Sophomore 62D
1254038Dalal, AlanaF Senior 92A
1278858Orner, KatyF Junior 76C
1230807Frigo, AvisM Senior 64D
1210466Stober, SaundraF Junior 90A
1249290Borba, MilagrosF Freshman 96A
1244262Sosnowski, HillaryF Junior 68D
1252490Nibert, EmiliaF Sophomore 59F
1267170Popovic, TanishaF Freshman 95A
1248100Schreckengost, MaxM Senior 76C
1243483Porcelli, DarrenM Junior 67D
1230382Sinko, ErikM Freshman 91A
1240224Tarvin, JulioM Sophomore 85B
1222781Lessig, ElnoraF Junior 63D
1231806Thon, MaxM Sophomore 82B
1246648Trembley, AllysonF Junior 100A
Student_IDNameScoreClassGender Grade
並
び
替
え
S
O
R
T
データ保持イメージ②
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.53
A
D
B
A
Junior
Senior
Freshman
Junior
Sophomore
Sophomore
Junior
Junior
F
F
F
M
F
F
F
F
M
M
M
F
M
F
1256678Cappiello, EmiliaSophomore 62D
1254038Dalal, AlanaSenior 92A
1278858Orner, Katy76C
1230807Frigo, Avis64D
1210466Stober, SaundraJunior 90
1249290Borba, Milagros96
1244262Sosnowski, Hillary68
1252490Nibert, Emilia59F
1267170Popovic, TanishaF Freshman 95A
1248100Schreckengost, MaxSenior 76C
1243483Porcelli, DarrenJunior 67D
1230382Sinko, ErikM Freshman 91A
1240224Tarvin, Julio85
1222781Lessig, Elnora63D
1231806Thon, MaxSophomore 82B
1246648Trembley, Allyson100
Student_IDNameScoreClassGender Grade
A
圧
縮
データ保持イメージ③
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.54
A
D
B
A
Junior
Senior
Freshman
Junior
Sophomore
Sophomore
Junior
Junior
F
F
F
M
F
F
F
F
M
M
M
F
M
F
1256678Cappiello, Emilia62
1254038Dalal, Alana
Sophomore
Senior 92
1278858Orner, Katy76
1230807Frigo, Avis64
1210466Stober, SaundraJunior 90
1249290Borba, Milagros96
1244262Sosnowski, Hillary68
1252490Nibert, Emilia59
1267170Popovic, TanishaF Freshman 95A
1248100Schreckengost, MaxSenior 76
D
C
1243483Porcelli, Darren67
1230382Sinko, ErikM 91
1240224Tarvin, Julio85
1222781Lessig, Elnora63
C
D
1231806Thon, Max
Junior
Freshman
Sophomore 82
D
A
F
D
A
B
1246648Trembley, Allyson100
Student_IDNameScoreClassGender
F
Grade
AJunior
Junior
Junior
Junior
Junior
A
A
90
100
1st I/O
Reads entire
column
2nd I/O 3rd I/O 4th I/O
offset offset
少ないIOで効率的に検索
Example query:
select avg( Score ) from example where
Class = ‘Junior’ and Gender = ‘F’ and Grade = ‘A’
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.55
6. DB最適化(DB Designer)
Vertica構築・運用ステップ
DB Designerの”Comprehensive”モードでDB初期最適化を実行
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
6. Configuration Menu
2. Run Database
Designer
対象DBの選択
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.56
6. DB最適化(DB Designer)
Vertica構築・運用ステップ
DB Designerの”Comprehensive”モードでDB初期最適化を実行
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
パスワード入力
ログ/生成DDL
出力先指定
プロジェクション名指定
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.57
6. DB最適化(DB Designer)
Vertica構築・運用ステップ
DB Designerの”Comprehensive”モードでDB初期最適化を実行
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
■Comprehensive(DB全体)
□Incremental(特定のクエリ)
の選択
対象スキーマの選択
□Comprehensiveでもqueryを指定
が可能
■統計情報を取得するかどうか
■DDLを生成して後から実行するか、
この対話形式の中でプロジェクショ
ンを作成するかの選択
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.58
6. DB最適化(DB Designer)
Vertica構築・運用ステップ
DB Designerの”Comprehensive”モードでDB初期最適化を実行
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
K-safeの指定
1を選択した場合はレプ
リカを1つ隣のノードに
持つ
確認/実行
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.59
6. DB最適化(DB Designer)
Vertica構築・運用ステップ
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
■プロジェクションの構造が変わった
件数の少ないプロジェク
ションは非分散になった
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.60
■生成されたプロジェクションDDL
SELECT
online_sales_fact.sale_date_key,
:
online_sales_fact.transaction_type
FROM online_sales.online_sales_fact
CREATE PROJECTION online_sales.online_sales_fact_DBD_3_seg_VMart_DBD
/*+createtype(D)*/(
sale_date_key ENCODING DELTARANGE_COMP,
:
transaction_type ENCODING RLE ) AS
列の選択&
圧縮率の指定
実データの指定
ORDER BY online_sales_fact.transaction_type,
:
online_sales_fact.pos_transaction_number
列の並び替え
SEGMENTED BY HASH(online_sales_fact.pos_transaction_number) ALL NODES;
ノードに分散する
HASH KEYの指定
6. DB最適化(DB Designer)
Vertica構築・運用ステップ
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
定義が変わった
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.61
7. 追加Data load
Vertica構築・運用ステップ
以降、順次データをロードし最適化されたProjectionにデータを格納
Vertica Install DB作成
Schema/Table
作成
LB設定
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Vertica
Node#1
PC
TeraTerm/putty etc
Node#2 Node#N
データベース
…
Management Console
スキーマ
最適化Projectionにロード
ETL Server
APL
Data
Bulkロードで高速インポート
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.62
8. DB Tuning(DB Designer)
Vertica構築・運用ステップ
DB Designerの”Incremental”モードで追加SQLに対して最適化を実行
Vertica Install DB作成 Schema作成 Table作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
Vertica
Node#1
PC
TeraTerm/putty etc
Node#2 Node#N
Admin
tools
ssh
…
Management Console
https
データベース
スキーマ
Projectionの追加生成
圧縮・ソートあり・必要カラムのみ
CUI または GUI
から実行可能
query
プロジェクションを自動で追加作成
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.63
8. DB Tuning(DB Designer)
Vertica構築・運用ステップ
DB Designerの”Incremental”モードで追加SQLに対して最適化を実行
6. Configuration Menu
2. Run Database
Designer
対象DBの選択
Vertica Install DB作成 Schema作成 Table作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.64
8. DB Tuning(DB Designer)
Vertica構築・運用ステップ
DB Designerの”Incremental”モードで追加SQLに対して最適化を実行
パスワード入力
ログ/生成DDL
出力先指定
プロジェクション名指定
Vertica Install DB作成 Schema作成 Table作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.65
8. DB Tuning(DB Designer)
Vertica構築・運用ステップ
DB Designerの”Incremental”モードで追加SQLに対して最適化を実行
□Comprehensive(DB全体)
■Incremental(特定のクエリ)
の選択
対象スキーマの選択
■統計情報を取得するかどうか
■DDLを生成して後から実行するか、
この対話形式の中でプロジェクショ
ンを作成するかの選択
Vertica Install DB作成 Schema作成 Table作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.66
8. DB Tuning(DB Designer)
Vertica構築・運用ステップ
DB Designerの”Incremental”モードで追加SQLに対して最適化を実行
チューニングしたい
Queryの記載されたファ
イルPathを指定
確認/実行
Vertica Install DB作成 Schema作成 Table作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
K-safeの指定
1を選択した場合はレプ
リカを1つ隣のノードに
持つ
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.67
8. DB Tuning(DB Designer)
Vertica構築・運用ステップ
Vertica Install DB作成 Schema作成 Table作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
■プロジェクションが追加された
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.68
8. DB Tuning(DB Designer)
Vertica構築・運用ステップ
Vertica Install DB作成 Schema作成 Table作成
初期Data load
DB最適化
(DB Designer)
DB Tuning
(DB Designer)
追加Data load
■生成されたプロジェクションDDL
SELECT
online_sales_fact.online_page_key
FROM online_sales.online_sales_fact
CREATE PROJECTION online_sales.online_sales_fact_DBD_2_seg_VMart_DBD_inc
/*+createtype(D)*/
(
online_page_key ENCODING RLE
) AS
列の選択&
圧縮タイプの指定
実データの指定
ORDER BY online_sales_fact.online_page_key 列の並び替え
SEGMENTED BY HASH(online_sales_fact.online_page_key) ALL NODES;
ノードに分散する
HASH KEYの指定列を絞ったプロジェクションが生成
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.69
その他:データ再編成処理
• Verticaでは、DefragmentationやVACUUMといった再編成処理の必要なし
• Tuple Moverと呼ばれるメンテナンス処理(≒ Defragmentation、VACUUM)が定期的
にバックグラウンドで実行され、常にデータ配置を最適化
• Tuple Mover実行中も検索やロードは可能
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.70
優れたGUIベースの無償バンドルツールで複数ノードを透過的に運用管理可能
その他:マネージメントコンソール
データベース操作・設定
•管理画面からのデータベースのスタートとストップ、リバランス操作が可能
•データベースデザイナーの実行、SQL実行計画の確認が可能
•各種パラメータセッティング
MPP監視に適したユーザインタフェース
•自動的にノード数に応じたシステム構成をグラフィカルに表示
•システム全体の動作状況を監視
•各ノードへドリルダウンし、個別ノードのログ、リソース利用状況の可視化が可能
各種データをリアルタイムにモニタリング
•各ノードのリソース利用状況
•実行中および任意の時間帯の実行済みSQL文
•ライセンス利用状況・ログ
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.71
Simple!
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.72
HP Vertica Community Edition
データ量1TB/クラスター構成3ノードまで、
無期限でお試しいただけます
 HP Verticaの全ての機能を使えます
 Community Edition用のインストールガイド(日本語)もご用意しています
 Let’s download!
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Thankyou

[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステップ by 日本ヒューレット・パッカード株式会社 大薗純平

  • 1.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. マイケルストーンブレーカー発の 超高速データベースで実現する 分析基盤の簡単構築・運用ステップ 大薗 純平 日本ヒューレット・パッカード株式会社 ビッグデータソフトウェアプラットフォーム事業本部 プリセールスコンサルタント 2015年6月10日
  • 2.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.2 自己紹介 大薗 純平(おおぞの じゅんぺい) o Verticaプリセールスコンサルタント@日本HP o 2012年、HPが Vertica社を買収したタイミングから、 Verticaを使用したシステムの提案および構築プロ ジェクトに複数参画 o 現在、Verticaを含めたビッグデータビジネスに関連 する提案活動およびPOCを担当
  • 3.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.3 Congratulation!
  • 4.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.4 マイケルストーンブレーカー氏の功績 C-store 1970 1980 2005 2015 技術継承 技術継承 商用化
  • 5.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.5 とは?
  • 6.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.6 イメージ Verticaのイメージと実際 Speed Scalability
  • 7.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.7 実際 Verticaのイメージと実際 Speed Scalability Simple+
  • 8.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.8 Verticaの特徴 Speed Scalability Simple o 列指向+超並列構成による圧倒的なパフォーマンス o Vertica独自のプロジェクションによる圧倒的な速度向上 o マスターノードを持たない、無限のスケールアウト構成 o ノード追加によるリニアな性能向上が可能 o 既存のDBの知識、標準SQLですぐに分析可能 o 複雑なチューニングは不要
  • 9.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.9 ■列指向 ■超並列構成 ■プロジェクション 超高速データベースソフトウェア CPU Memory Disk CPU Memory Disk CPU Memory Disk Speed
  • 10.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.10 Verticaでは、テーブルは論理スキーマとして定義 create table table1 (日付 date ,顧客ID(int),店舗 varchar(10),エリアvarchar(10) , 売上高(int)); プロジェクションとは? プロジェクションは物理スキーマとして定義(自動ツールによりチューニング) 日付 顧客ID 店舗 エリア 売上高 date int varchar(10) varchar(10) Int 日付 顧客ID 店舗 エリア 売上高 0701 10001 新宿 東京 100 0701 10002 新宿 東京 1,000 0702 10003 名古屋 名古屋 1,0000 0703 10004 梅田 大阪 2,400 0703 10005 池袋 東京 1,600 0703 10006 新宿 東京 6,400 0705 10007 品川 東京 1,000 0706 10008 梅田 大阪 1,100 0706 10009 名古屋 名古屋 1,300 日付 売上高 0701 100 1,000 0702 1,0000 0703 2,400 1,600 6,400 0705 1,000 0706 1,100 1,300 Projection-1 Projection-2 エリア 店舗 日付 売上高 顧客ID 大阪 梅田 0703 2,400 10004 0706 1,100 10008 東京 池袋 0703 1,600 10005 品川 0705 1,000 10007 新宿 0701 100 10001 1,000 10002 0703 6,400 10006 名古屋 名古屋 0702 1,0000 10003 0706 1,300 10009 大阪梅田の平均売上高 7/6の売り上げ クエリー毎に最適化を事前に行うことも可能
  • 11.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.11 マスターノードのない、真のMPP構成 HP Vertica = Shared Nothing MPP マスターノードがあるMPP →低いConcurrency→高いConcurrency Clients Clients Clients Clients すべてのノードがクエリを受けられる Node#1 CPU Memory Node#2 CPU Memory Node#3 CPU Memory Node#N CPU Memory Node#1 CPU Memory Node#2 CPU Memory Node#3 CPU Memory Node#N CPU Memory Master Node ClientsClientsClients クエリが必ず特定 ノードを経由する Scalability
  • 12.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.12 Simple?
  • 13.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.13 Vertica構築・運用ステップ Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Simple 運用構築
  • 14.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.14 1. Vertica Install Vertica構築・運用ステップ 任意ノードでrpm & Install Script実行 Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Node#1 Node#2 Node#N… Vertica rpm ①事前準備 ・予め、Verticaのインストール要件を満たすHW/NW/OS設定としておく ・全ノードのOS設定/DIR構成を同一としておく Install Script ③Install Script実行 rpm実行により生成されたInstall Scriptを実行。どのサーバーをVertica クラスタに含めるか指定する Vertica Node#1 Node#2 Node#N… Vertica rpm Install Script 全ノードにVerticaプロセス/モジュール/ 専用OSユーザ(dbadmin)が生成される ②rpm実行 Verticaインストール用rpmファイルを、 myVertica(https://my.vertica.com/)からダウンロード。 任意の1ノードに配置し、実行 ①事前準備(全ノード) ②rpm実行(1ノード) ③Install script実行(1ノード)
  • 15.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.15 1. Vertica Install Vertica構築・運用ステップ ①事前準備 OSインストール前 ■構成例(オンプレミス) Private Public 冗長化 推奨ディスク構成 o すべて内臓ディスクで構成する o OS, カタログ領域とデータ領域の パーティションを分ける SAS:300GB x 2 SAS:600GB x N RAID1 (OS, カタログ) RAID10 (データ) ・・・・・ Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load ネットワークはPrivate/Publicの2系統
  • 16.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.16 1. Vertica Install Vertica構築・運用ステップ ①事前準備 OSインストール前 (ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/ 項目 内容 Supported Platform Linux(64bit)をサポート: RHEL5.x,6.x / CentOS5.x,6.x / SUSE11.0-11.0SP3 / Debian6,7.0-7.5 etc LVM FilesystemはLVMで構成しない (データ領域だけでなく、OS, カタログ領域も) Filesystem ext3またはext4をサポート(ext4推奨) Swap Space メモリーサイズにかかわらず、2Gbyteを推奨(2Gbyte以上でもサポートします。)SWAP 領域は、Verticaのデータ領域と同じDISKには配置しない Disk Block Size 4,096bytes Memory 物理Core毎に8GB以上を推奨 Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load
  • 17.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.17 1. Vertica Install Vertica構築・運用ステップ ①事前準備 OSインストール後 項目 内容 Disk Readahead データ領域のデバイスのReadaheadの設定:2,048以上 NTP Services NTPデーモンを有効化 SELinux DisabledまたはPermissiveに設定 Firewall Disabledに設定 CPU Frequency Scaling CPU Idle時、省電力モードにならない設定(設定方法はサーバーに依存) Transparent Hugepages Disabledまたはmadviseに設定 I/O Scheduler 全領域のデバイスI/O Schedulerをdeadlineに設定 (ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/ Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load
  • 18.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.18 1. Vertica Install Vertica構築・運用ステップ ①事前準備 OSインストール後 項目 内容 Support Tools Pstack(CentOSの場合は、gdb), mcelog, Sysstatのインストールを推奨 Default shell インストールユーザーのデフォルトシェルは、BASH Shellとする LANG Environment インストールユーザーのLANGをUTF-8に設定 TZ Environment インストールユーザーのTimezoneを適切に設定(Asia/Tokyoなど) Partition データ領域、カタログ領域のパーティションを作成 (すべてのノード共通) ※データベース作成時に、これらのパーティションのディレクトリ名を指定 (ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/ Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load
  • 19.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.19 1. Vertica Install Vertica構築・運用ステップ ②rpm実行 Node#1 に、rpmファイルをアップロード Node#1でrootまたはsudo権限ユーザで以下を実行 # rpm -Uvh vertica-7.1.1-12.x86_64.RHEL5.rpm (ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/ Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load
  • 20.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.20 1. Vertica Install Vertica構築・運用ステップ ②rpm実行 (ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/ Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load
  • 21.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.21 1. Vertica Install Vertica構築・運用ステップ ③Install Script実行 Node#1でrootまたはsudo権限ユーザでInstall scriptを実行 # /opt/vertica/sbin/install_vertica --hosts node01,node02,node03 (Private Networkを指定) --rpm vertica-7.1.1-12.x86_64.RHEL5.rpm --ssh-password root’s Password --dba-user-password dbadmin’s Password --failure-threshold NONE (NONEとすることでWarning等を無視してインストール) (ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/ Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load
  • 22.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.22 1. Vertica Install Vertica構築・運用ステップ ③Install Script実行 (ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/ Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load
  • 23.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.23 1. Vertica Install Vertica構築・運用ステップ ③Install Script実行 (ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/ Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load
  • 24.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.24 1. Vertica Install Vertica構築・運用ステップ ③Install Script実行 (ご参考)HP Vertica日本語ガイド http://h50146.www5.hp.com/products/software/hpsoftware/vertica/ Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Vertica Node#1 Node#2 Node#N… Vertica rpm Install Script 全ノードにVerticaプロセス/モジュール/ 専用OSユーザ(dbadmin)が生成される
  • 25.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.25 2. DB作成 Vertica構築・運用ステップ Vertica上にDBを作成する(CUI / GUIで作成可能) Vertica Install DB作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Vertica Node#1 PC TeraTerm/putty etc Node#2 Node#N Admin tools ssh DBで使用するディレクトリを指定する ・Vertica定義ファイルを格納するディレクトリ(Catalog) ・データを格納するディレクトリ(Data) データベース … Management Console https ディレクトリだけ指定する Schema/Table 作成 LB設定
  • 26.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.26 2. DB作成 Vertica構築・運用ステップ Vertica Install DB作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load CUI (admintools)での作成例 Schema/Table 作成 LB設定 dbadmin userで admintools起動 6. Configuration Menu 1. Create Database
  • 27.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.27 2. DB作成 Vertica構築・運用ステップ Vertica Install DB作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Schema/Table 作成 LB設定 DB名を指定 パスワードを指定 パスワードの確認
  • 28.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.28 2. DB作成 Vertica構築・運用ステップ Vertica Install DB作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Schema/Table 作成 LB設定 対象ノードの指定 カタログ領域とデータ領 域のPathを指定 確認画面
  • 29.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.29 2. DB作成 Vertica構築・運用ステップ Vertica Install DB作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Schema/Table 作成 LB設定
  • 30.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.30 2. DB作成 Vertica構築・運用ステップ Vertica Install DB作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Schema/Table 作成 LB設定 DB作成完了 DBの状態確認 起動できるのは1つの DBのみ
  • 31.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.31 3. Schema/Table作成 Vertica構築・運用ステップ DB上にSchema/Tableを作成(SQL - Create Schema/Table発行) Vertica Install DB作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Vertica Node#1 PC TeraTerm/putty etc Node#2 Node#N vsql ssh スキーマ( データの論理集合)の生成 データベース … Management Console スキーマ DDL Schema/Table 作成 LB設定 テーブルの生成=メタデータのみ (プロジェクション:物理構造は未生成) ANSI99標準SQL 使用 分散キー、ソートキー等の指定は不要
  • 32.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.32 3. Schema/Table作成 Vertica構築・運用ステップ DB上にSchema/Tableを作成(SQL - Create Schema/Table発行) ■DDLサンプル create schema online_sales; create table online_sales.online_page_dimension ( online_page_key integer not null primary key, start_date date, end_date date, page_number integer, page_description varchar(100), page_type varchar(100) ); Vertica Install DB作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Schema/Table 作成 LB設定 ANSI99準拠の標準SQL 分散キー等の設計は不要
  • 33.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.33 3. Schema/Table作成 Vertica構築・運用ステップ Vertica Install DB作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Schema/Table 作成 LB設定 vsql にログインしてDDLを実行 psql Postgresのpsqlとほぼ同じインターフェース メタコマンドも使用可能
  • 34.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.34 3. Schema/Table作成 Vertica構築・運用ステップ Vertica Install DB作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Schema/Table 作成 LB設定 この段階ではプロジェクションは未生成
  • 35.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.35 4. LB設定 Vertica構築・運用ステップ 適切に接続ノードの振り分けを行うため、Native Load Balancing機能を有効化 Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Vertica Node#1 PC TeraTerm/putty etc Node#2 Node#N vsql ssh Native Load balancing有効化 (振り分けポリシーの設定) データベース … Management Console スキーマ DDL DB側とクライアント側で設定必要
  • 36.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.36 4. LB設定 Vertica構築・運用ステップ Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load クライアント システム Vertica ①LB有効化(LBポリシーの指定) RoundrobinまたはRandom③ConnectionLoadBalance有効化 ②LB用Networkの設定 LBポリシーに 準じて振り分け ダウンノードは 振分対象から除外
  • 37.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.37 4. LB設定 Vertica構築・運用ステップ ①LB有効化(LBポリシーの指定) 以下のポリシーから、選択 Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Load Balance Policy 動作 NONE Load balanceさせない設定(デフォルト) ROUNDROBIN ノード名順に振り分け RANDOM ランダムに振り分け
  • 38.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.38 4. LB設定 Vertica構築・運用ステップ ①LB有効化(LBポリシーの指定) 実行例 Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load NONE(Default)から Roundrobinに変更
  • 39.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.39 4. LB設定 Vertica構築・運用ステップ ②LB用Networkの設定 実行例 Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load クライアントから接続するPublic アドレスのSUBNET定義を作成 データベースにSUBNET定義を 登録
  • 40.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.40 4. LB設定 Vertica構築・運用ステップ ③ConnectionLoadBalance有効化(クライアント) 実行例 Vsqlから接続する場合 -Cオプションを付加して接続 $ vsql –h 192.168.195.102 –U dbadmin –C Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load LBが使われている
  • 41.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.41 4. LB設定 Vertica構築・運用ステップ ③ConnectionLoadBalance有効化(クライアント) 実行例 JDBCから接続する場合 コネクション接続時に、接続文字列に以下のパラメータをセットする ConnectionLoadBalance=1 ODBCから接続する場合 ODBC DSNにて「Use connection load balancing」にチェックを入れる Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load
  • 42.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.42 5. 初期Data load Vertica構築・運用ステップ データの傾向が分かる、サンプルデータをロード Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Vertica Node#1 PC TeraTerm/putty etc Node#2 Node#N データベース … Management Console スキーマ 初期プロジェクションの作成 最適な圧縮・ソートなし、全カラム保持 ETL Server APL Data Bulkロードで高速インポート
  • 43.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.43 5. 初期Data load Vertica構築・運用ステップ COPYコマンド • テキストファイルをINPUTとし、バルクロードが可能 COPY <テーブル名> FROM <ファイル名>; ※ファイルのエンコーディングはUTF-8であること • COPYコマンドは、同一テーブルに同時に複数実行可能 Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Vertica DB Server TABLE COPY -- Data File 111,222,333 : : xSV形式、固定長のファイル データを自動的にハッシュ分散
  • 44.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.44 5. 初期Data load Vertica構築・運用ステップ COPYコマンドの例 Online_sales.load.sql ------------------------------------------------------------------------------------ set t_pwd `pwd` set input_file1 '''':t_pwd'/online_sales_fact.tbl''' COPY Online_Sales_Fact FROM :input_file1 DELIMITER '|' NULL '' DIRECT; ------------------------------------------------------------------------------------ Online_Sales_Factテーブルに、online_sales_fact.tblファイル、区切り文字が|のものをロード Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load
  • 45.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.45 5. 初期Data load Vertica構築・運用ステップ Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load ■ロード完了
  • 46.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.46 5. 初期Data load Vertica構築・運用ステップ Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load ■初期プロジェクションが生成された データが各ノードに 分散配置されている
  • 47.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.47 5. 初期Data load Vertica構築・運用ステップ ■生成されたプロジェクションDDL Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load SELECT online_sales_fact.sale_date_key, : online_sales_fact.transaction_type FROM online_sales.online_sales_fact CREATE PROJECTION online_sales.online_sales_fact /*+createtype(L)*/( sale_date_key, : transaction_type ) AS 列の選択& 圧縮タイプの指定 実データの指定 ORDER BY online_sales_fact.sale_date_key, : online_sales_fact.transaction_type 列の並び替え SEGMENTED BY HASH(online_sales_fact.sale_date_key, … online_sales_fact.transaction_type) ALL NODES; ノードに分散する HASH KEYの指定 圧縮タイプは未選択 最適な並びでない可能性 最適なキーでない可能性
  • 48.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.48 6. DB最適化(DB Designer) Vertica構築・運用ステップ DB Designerの”Comprehensive”モードでDB初期最適化を実行 Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Vertica Node#1 PC TeraTerm/putty etc Node#2 Node#N データベース … Management Console スキーマ 最適化Projectionの生成 圧縮・ソートあり、全カラム保持 Admin tools ssh https CUI または GUI から実行可能 query プロジェクションを自動で再作成
  • 49.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.49 DB Designer 自動チューニング 今までのRDBMSの知識で テーブル、SQLの作成 最高のパフォーマンスが出せる物理デザインをVerticaが自動で作成 日付 顧客ID 店舗 エリア 売上高 0701 10001 新宿 東京 100 0701 10002 新宿 東京 1,000 0702 10003 名古屋 名古屋 1,0000 0703 10004 梅田 大阪 2,400 0703 10005 池袋 東京 1,600 0703 10006 新宿 東京 6,400 0705 10007 品川 東京 1,000 0706 10008 梅田 大阪 1,100 0706 10009 名古屋 名古屋 1,300 エリア 店舗 日付 売上高 顧客ID 大阪 梅田 0703 2,400 10004 0706 1,100 10008 東京 池袋 0703 1,600 10005 品川 0705 1,000 10007 新宿 0701 100 10001 1,000 10002 0703 6,400 10006 名古屋 名古屋 0702 1,0000 10003 0706 1,300 10009
  • 50.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.50 1256678 1254038 1278858 1230807 Student_ID 1210466 1249290 1244262 1252490 1267170 1248100 1243483 1230382 1240224 1222781 1231806 1246648 Cappiello, Emilia Dalal, Alana Orner, Katy Frigo, Avis Name Stober, Saundra Borba, Milagros Sosnowski, Hillary Nibert, Emilia Popovic, Tanisha Schreckengost, Max Porcelli, Darren Sinko, Erik Tarvin, Julio Lessig, Elnora Thon, Max Trembley, Allyson F F F M Gender F F F F F M M M M F M F Sophomore Senior Junior Senior Class Junior Freshman Junior Sophomore Freshman Senior Junior Freshman Sophomore Junior Sophomore Junior 62 92 76 64 Score 90 96 68 59 95 76 67 91 85 63 82 100 D A C D Grade A A D F A C D A B D B A 自動で最適なデータ配置を作成 Example query: select avg( Score ) from example where Class = ‘Junior’ and Gender = ‘F’ and Grade = ‘A’
  • 51.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.51 1256678 1254038 1278858 1230807 Student_ID 1210466 1249290 1244262 1252490 1267170 1248100 1243483 1230382 1240224 1222781 1231806 1246648 Cappiello, Emilia Dalal, Alana Orner, Katy Frigo, Avis Name Stober, Saundra Borba, Milagros Sosnowski, Hillary Nibert, Emilia Popovic, Tanisha Schreckengost, Max Porcelli, Darren Sinko, Erik Tarvin, Julio Lessig, Elnora Thon, Max Trembley, Allyson F F F M Gender F F F F F M M M M F M F Sophomore Senior Junior Senior Class Junior Freshman Junior Sophomore Freshman Senior Junior Freshman Sophomore Junior Sophomore Junior 62 92 76 64 Score 90 96 68 59 95 76 67 91 85 63 82 100 D A C D Grade A A D F A C D A B D B A Queryに最適化されたカラム配置に並び替え データ保持イメージ①
  • 52.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.52 1256678Cappiello, EmiliaF Sophomore 62D 1254038Dalal, AlanaF Senior 92A 1278858Orner, KatyF Junior 76C 1230807Frigo, AvisM Senior 64D 1210466Stober, SaundraF Junior 90A 1249290Borba, MilagrosF Freshman 96A 1244262Sosnowski, HillaryF Junior 68D 1252490Nibert, EmiliaF Sophomore 59F 1267170Popovic, TanishaF Freshman 95A 1248100Schreckengost, MaxM Senior 76C 1243483Porcelli, DarrenM Junior 67D 1230382Sinko, ErikM Freshman 91A 1240224Tarvin, JulioM Sophomore 85B 1222781Lessig, ElnoraF Junior 63D 1231806Thon, MaxM Sophomore 82B 1246648Trembley, AllysonF Junior 100A Student_IDNameScoreClassGender Grade 並 び 替 え S O R T データ保持イメージ②
  • 53.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.53 A D B A Junior Senior Freshman Junior Sophomore Sophomore Junior Junior F F F M F F F F M M M F M F 1256678Cappiello, EmiliaSophomore 62D 1254038Dalal, AlanaSenior 92A 1278858Orner, Katy76C 1230807Frigo, Avis64D 1210466Stober, SaundraJunior 90 1249290Borba, Milagros96 1244262Sosnowski, Hillary68 1252490Nibert, Emilia59F 1267170Popovic, TanishaF Freshman 95A 1248100Schreckengost, MaxSenior 76C 1243483Porcelli, DarrenJunior 67D 1230382Sinko, ErikM Freshman 91A 1240224Tarvin, Julio85 1222781Lessig, Elnora63D 1231806Thon, MaxSophomore 82B 1246648Trembley, Allyson100 Student_IDNameScoreClassGender Grade A 圧 縮 データ保持イメージ③
  • 54.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.54 A D B A Junior Senior Freshman Junior Sophomore Sophomore Junior Junior F F F M F F F F M M M F M F 1256678Cappiello, Emilia62 1254038Dalal, Alana Sophomore Senior 92 1278858Orner, Katy76 1230807Frigo, Avis64 1210466Stober, SaundraJunior 90 1249290Borba, Milagros96 1244262Sosnowski, Hillary68 1252490Nibert, Emilia59 1267170Popovic, TanishaF Freshman 95A 1248100Schreckengost, MaxSenior 76 D C 1243483Porcelli, Darren67 1230382Sinko, ErikM 91 1240224Tarvin, Julio85 1222781Lessig, Elnora63 C D 1231806Thon, Max Junior Freshman Sophomore 82 D A F D A B 1246648Trembley, Allyson100 Student_IDNameScoreClassGender F Grade AJunior Junior Junior Junior Junior A A 90 100 1st I/O Reads entire column 2nd I/O 3rd I/O 4th I/O offset offset 少ないIOで効率的に検索 Example query: select avg( Score ) from example where Class = ‘Junior’ and Gender = ‘F’ and Grade = ‘A’
  • 55.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.55 6. DB最適化(DB Designer) Vertica構築・運用ステップ DB Designerの”Comprehensive”モードでDB初期最適化を実行 Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load 6. Configuration Menu 2. Run Database Designer 対象DBの選択
  • 56.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.56 6. DB最適化(DB Designer) Vertica構築・運用ステップ DB Designerの”Comprehensive”モードでDB初期最適化を実行 Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load パスワード入力 ログ/生成DDL 出力先指定 プロジェクション名指定
  • 57.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.57 6. DB最適化(DB Designer) Vertica構築・運用ステップ DB Designerの”Comprehensive”モードでDB初期最適化を実行 Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load ■Comprehensive(DB全体) □Incremental(特定のクエリ) の選択 対象スキーマの選択 □Comprehensiveでもqueryを指定 が可能 ■統計情報を取得するかどうか ■DDLを生成して後から実行するか、 この対話形式の中でプロジェクショ ンを作成するかの選択
  • 58.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.58 6. DB最適化(DB Designer) Vertica構築・運用ステップ DB Designerの”Comprehensive”モードでDB初期最適化を実行 Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load K-safeの指定 1を選択した場合はレプ リカを1つ隣のノードに 持つ 確認/実行
  • 59.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.59 6. DB最適化(DB Designer) Vertica構築・運用ステップ Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load ■プロジェクションの構造が変わった 件数の少ないプロジェク ションは非分散になった
  • 60.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.60 ■生成されたプロジェクションDDL SELECT online_sales_fact.sale_date_key, : online_sales_fact.transaction_type FROM online_sales.online_sales_fact CREATE PROJECTION online_sales.online_sales_fact_DBD_3_seg_VMart_DBD /*+createtype(D)*/( sale_date_key ENCODING DELTARANGE_COMP, : transaction_type ENCODING RLE ) AS 列の選択& 圧縮率の指定 実データの指定 ORDER BY online_sales_fact.transaction_type, : online_sales_fact.pos_transaction_number 列の並び替え SEGMENTED BY HASH(online_sales_fact.pos_transaction_number) ALL NODES; ノードに分散する HASH KEYの指定 6. DB最適化(DB Designer) Vertica構築・運用ステップ Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load 定義が変わった
  • 61.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.61 7. 追加Data load Vertica構築・運用ステップ 以降、順次データをロードし最適化されたProjectionにデータを格納 Vertica Install DB作成 Schema/Table 作成 LB設定 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Vertica Node#1 PC TeraTerm/putty etc Node#2 Node#N データベース … Management Console スキーマ 最適化Projectionにロード ETL Server APL Data Bulkロードで高速インポート
  • 62.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.62 8. DB Tuning(DB Designer) Vertica構築・運用ステップ DB Designerの”Incremental”モードで追加SQLに対して最適化を実行 Vertica Install DB作成 Schema作成 Table作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load Vertica Node#1 PC TeraTerm/putty etc Node#2 Node#N Admin tools ssh … Management Console https データベース スキーマ Projectionの追加生成 圧縮・ソートあり・必要カラムのみ CUI または GUI から実行可能 query プロジェクションを自動で追加作成
  • 63.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.63 8. DB Tuning(DB Designer) Vertica構築・運用ステップ DB Designerの”Incremental”モードで追加SQLに対して最適化を実行 6. Configuration Menu 2. Run Database Designer 対象DBの選択 Vertica Install DB作成 Schema作成 Table作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load
  • 64.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.64 8. DB Tuning(DB Designer) Vertica構築・運用ステップ DB Designerの”Incremental”モードで追加SQLに対して最適化を実行 パスワード入力 ログ/生成DDL 出力先指定 プロジェクション名指定 Vertica Install DB作成 Schema作成 Table作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load
  • 65.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.65 8. DB Tuning(DB Designer) Vertica構築・運用ステップ DB Designerの”Incremental”モードで追加SQLに対して最適化を実行 □Comprehensive(DB全体) ■Incremental(特定のクエリ) の選択 対象スキーマの選択 ■統計情報を取得するかどうか ■DDLを生成して後から実行するか、 この対話形式の中でプロジェクショ ンを作成するかの選択 Vertica Install DB作成 Schema作成 Table作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load
  • 66.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.66 8. DB Tuning(DB Designer) Vertica構築・運用ステップ DB Designerの”Incremental”モードで追加SQLに対して最適化を実行 チューニングしたい Queryの記載されたファ イルPathを指定 確認/実行 Vertica Install DB作成 Schema作成 Table作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load K-safeの指定 1を選択した場合はレプ リカを1つ隣のノードに 持つ
  • 67.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.67 8. DB Tuning(DB Designer) Vertica構築・運用ステップ Vertica Install DB作成 Schema作成 Table作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load ■プロジェクションが追加された
  • 68.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.68 8. DB Tuning(DB Designer) Vertica構築・運用ステップ Vertica Install DB作成 Schema作成 Table作成 初期Data load DB最適化 (DB Designer) DB Tuning (DB Designer) 追加Data load ■生成されたプロジェクションDDL SELECT online_sales_fact.online_page_key FROM online_sales.online_sales_fact CREATE PROJECTION online_sales.online_sales_fact_DBD_2_seg_VMart_DBD_inc /*+createtype(D)*/ ( online_page_key ENCODING RLE ) AS 列の選択& 圧縮タイプの指定 実データの指定 ORDER BY online_sales_fact.online_page_key 列の並び替え SEGMENTED BY HASH(online_sales_fact.online_page_key) ALL NODES; ノードに分散する HASH KEYの指定列を絞ったプロジェクションが生成
  • 69.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.69 その他:データ再編成処理 • Verticaでは、DefragmentationやVACUUMといった再編成処理の必要なし • Tuple Moverと呼ばれるメンテナンス処理(≒ Defragmentation、VACUUM)が定期的 にバックグラウンドで実行され、常にデータ配置を最適化 • Tuple Mover実行中も検索やロードは可能
  • 70.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.70 優れたGUIベースの無償バンドルツールで複数ノードを透過的に運用管理可能 その他:マネージメントコンソール データベース操作・設定 •管理画面からのデータベースのスタートとストップ、リバランス操作が可能 •データベースデザイナーの実行、SQL実行計画の確認が可能 •各種パラメータセッティング MPP監視に適したユーザインタフェース •自動的にノード数に応じたシステム構成をグラフィカルに表示 •システム全体の動作状況を監視 •各ノードへドリルダウンし、個別ノードのログ、リソース利用状況の可視化が可能 各種データをリアルタイムにモニタリング •各ノードのリソース利用状況 •実行中および任意の時間帯の実行済みSQL文 •ライセンス利用状況・ログ
  • 71.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.71 Simple!
  • 72.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.72 HP Vertica Community Edition データ量1TB/クラスター構成3ノードまで、 無期限でお試しいただけます  HP Verticaの全ての機能を使えます  Community Edition用のインストールガイド(日本語)もご用意しています  Let’s download!
  • 73.
    © Copyright 2014Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Thankyou