73
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. マイケルストーンブレーカー発の 超高速データベースで実現する 分析基盤の簡単構築・運用ステップ 大薗 純平 日本ヒューレット・パッカード株式会社 ビッグデータソフトウェアプラットフォーム事業本部 プリセールスコンサルタント 2015610

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

Embed Size (px)

Citation preview

© 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 loadDB最適化

(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 loadDB最適化

(DB Designer)DB Tuning

(DB Designer)追加Data load

Node#1 Node#2 Node#N…

Verticarpm

①事前準備・予め、Verticaのインストール要件を満たすHW/NW/OS設定としておく・全ノードのOS設定/DIR構成を同一としておく

InstallScript ③Install Script実行

rpm実行により生成されたInstallScriptを実行。どのサーバーをVerticaクラスタに含めるか指定する

Vertica

Node#1 Node#2 Node#N…

Verticarpm

InstallScript

全ノードに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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(DB Designer)DB Tuning

(DB Designer)追加Data load

Vertica

Node#1 Node#2 Node#N…

Verticarpm

InstallScript

全ノードに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 loadDB最適化

(DB Designer)DB Tuning

(DB Designer)追加Data load

Vertica

Node#1

PC

TeraTerm/putty etc

Node#2 Node#N

Admintools

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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(DB Designer)DB Tuning

(DB Designer)追加Data load

Vertica DB Server

TABLE

COPY-- Data File111,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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(DB Designer)DB Tuning

(DB Designer)追加Data load

Vertica

Node#1

PC

TeraTerm/putty etc

Node#2 Node#N

データベース

…Management Console

スキーマ

最適化Projectionの生成圧縮・ソートあり、全カラム保持

Admintools

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

1256678125403812788581230807

Student_ID

121046612492901244262125249012671701248100124348312303821240224122278112318061246648

Cappiello, EmiliaDalal, AlanaOrner, KatyFrigo, Avis

Name

Stober, SaundraBorba, Milagros

Sosnowski, HillaryNibert, Emilia

Popovic, TanishaSchreckengost, Max

Porcelli, DarrenSinko, Erik

Tarvin, JulioLessig, Elnora

Thon, MaxTrembley, Allyson

FFFM

Gender

FFFFFMMMMFMF

SophomoreSeniorJuniorSenior

Class

JuniorFreshman

JuniorSophomoreFreshman

SeniorJunior

FreshmanSophomore

JuniorSophomore

Junior

62927664

Score

9096685995766791856382

100

DACD

Grade

AADFACDABDBA

自動で最適なデータ配置を作成

Example query: select avg( Score ) from example whereClass = ‘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

1256678125403812788581230807

Student_ID

121046612492901244262125249012671701248100124348312303821240224122278112318061246648

Cappiello, EmiliaDalal, AlanaOrner, KatyFrigo, Avis

Name

Stober, SaundraBorba, Milagros

Sosnowski, HillaryNibert, Emilia

Popovic, TanishaSchreckengost, Max

Porcelli, DarrenSinko, Erik

Tarvin, JulioLessig, Elnora

Thon, MaxTrembley, Allyson

FFFM

Gender

FFFFFMMMMFMF

SophomoreSeniorJuniorSenior

Class

JuniorFreshman

JuniorSophomoreFreshman

SeniorJunior

FreshmanSophomore

JuniorSophomore

Junior

62927664

Score

9096685995766791856382

100

DACD

Grade

AADFACDABDBA

Queryに最適化されたカラム配置に並び替え

データ保持イメージ①

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.52

1256678Cappiello, EmiliaF Sophomore 62D1254038Dalal, AlanaF Senior 92A1278858Orner, KatyF Junior 76C1230807Frigo, AvisM Senior 64D1210466Stober, SaundraF Junior 90A1249290Borba, MilagrosF Freshman 96A1244262Sosnowski, HillaryF Junior 68D1252490Nibert, EmiliaF Sophomore 59F1267170Popovic, TanishaF Freshman 95A1248100Schreckengost, MaxM Senior 76C1243483Porcelli, DarrenM Junior 67D1230382Sinko, ErikM Freshman 91A1240224Tarvin, JulioM Sophomore 85B1222781Lessig, ElnoraF Junior 63D1231806Thon, MaxM Sophomore 82B1246648Trembley, AllysonF Junior 100A

Student_IDNameScoreClassGender Grade

並び替え

SORT

データ保持イメージ②

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.53

A

D

B

AJunior

Senior

Freshman

Junior

Sophomore

Sophomore

Junior

Junior

FF

F

M

FF

F

F

M

M

M

F

M

F

1256678Cappiello, EmiliaSophomore 62D1254038Dalal, AlanaSenior 92A

1278858Orner, Katy76C

1230807Frigo, Avis64D

1210466Stober, SaundraJunior 901249290Borba, Milagros96

1244262Sosnowski, Hillary68

1252490Nibert, Emilia59F

1267170Popovic, TanishaF Freshman 95A

1248100Schreckengost, MaxSenior 76C

1243483Porcelli, DarrenJunior 67D1230382Sinko, 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

AJunior

Senior

Freshman

Junior

Sophomore

Sophomore

Junior

Junior

FF

F

M

FF

F

F

M

M

M

F

M

F

1256678Cappiello, Emilia621254038Dalal, Alana

SophomoreSenior 92

1278858Orner, Katy76

1230807Frigo, Avis64

1210466Stober, SaundraJunior 901249290Borba, Milagros96

1244262Sosnowski, Hillary68

1252490Nibert, Emilia59

1267170Popovic, TanishaF Freshman 95A

1248100Schreckengost, MaxSenior 76DC

1243483Porcelli, Darren671230382Sinko, ErikM 91

1240224Tarvin, Julio85

1222781Lessig, Elnora63CD

1231806Thon, MaxJunior

Freshman

Sophomore 82

DA

F

DA

B

1246648Trembley, Allyson100

Student_IDNameScoreClassGender

F

Grade

AJuniorJuniorJuniorJuniorJunior

AA

90100

1st I/OReads entire

column

2nd I/O 3rd I/O 4th I/O

offset offset

少ないIOで効率的に検索

Example query: select avg( Score ) from example whereClass = ‘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 loadDB最適化

(DB Designer)DB Tuning

(DB Designer)追加Data load

6. Configuration Menu2. 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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(DB Designer)DB Tuning

(DB Designer)追加Data load

Vertica

Node#1

PC

TeraTerm/putty etc

Node#2 Node#N

Admintools

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 Menu2. Run Database

Designer対象DBの選択

Vertica Install DB作成 Schema作成 Table作成

初期Data loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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 loadDB最適化

(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.

Thank you