概要

今回は、Vertica Management Console(以降、MCと記載します)の活用方法の例として、Database Designerの使い方をご紹介します。
※Database DesignerはDBDと略される事があります。

Database Designerとは?

Verticaはテーブル作成後にデータをロードした状態でも、列指向やデータ圧縮の恩恵を受けることが可能なため、高速なパフォーマンスを得ることができます。しかし、プロジェクションを最適化することで更なるパフォーマンスの向上を期待できます。

プロジェクションについての説明は、以下の記事をご参照ください。

プロジェクションの概要


プロジェクションの最適化はDatabase Designerで行います。Database Designerを実行するには、以下2種類の方法があります。

 ・CUIベースのadmintoolsを利用する方法
 ・GUIベースのManagement Consoleを利用する方法

この記事ではMCを利用したDatabase Designerの実行手順をご紹介します。


※admintoolsを利用を利用する方法はこちらから。
 http://vertica-tech.ashisuto.co.jp/execute-database-designer-using-admintools

MCを使ったDatabase Designerの実行手順

ここからは、MCを利用したDatabase Designerの実行手順をご紹介します。
初めてDBDを実行する場合は、スーパープロジェクションの最適化や新規にプロジェクションが作成されます。
2回目以降にDBDを実行する場合は、新規にプロジェクションを追加するだけでなく、既存のプロジェクションをアップデートする事があります。

Database Designerの実行

画面下段にあるメニューから「Design」を選択します。
HP Vertica Management Console - Overview_2015-11-16_18-44-04

Database Designerを一度も作成していない環境の場合、次のような画面が表示されます。
ここでは「ウィザード」か「マニュアル」を選択して先に進むことになります。
「ウィザード」と「マニュアル」の違い
「ウィザード」の場合は、ガイドラインに従って簡単に操作できるのが特徴です。
「マニュアル」の場合は、プロジェクション作成の対象テーブルを個別に指定できるなどの細やかなデータベースデザインを設定できるのが特徴です。

今回は「マニュアル」を選択して進めていきます。ウィザードを使った場合の手順については以下の記事をご参照ください。

Management Consoleを利用したDatabase Designerの実行手順
(Verticaのバージョンは異なりますが、操作手順は同じです。)

データベースデザインの名前を入力します。今回は「DB1」と入力し、「Manual」ボタンをクリックします。
Vertica Management Console - Database Designer_2015-11-16_19-07-49

以下のような画面が表示されます。
Vertica Management Console - Database Designer_2015-11-17_15-39-05

ここからは画面下部にあるタブごとに手順を記載します。

Generalタブ

ここではDatabase Designerの一般的な設定を行います。
Vertica Management Console - Database Designer_2015-11-17_15-56-36

Design Type

デザインタイプを選択します。
データベース全体に対してDatabase Designerを実行するComprehensiveモードと、SQL単位でDatabase Designerを実行するIncrementalモードの2つの選択肢があります。
今回はデータベース全体に実施する「Comprehensive」モードを選択します。

Optimization Objective

オブジェクトの最適化タイプを選択します。

Optimize for Load ・・・・・・・ロード処理を最適化
Optimize for Performance・・・・クエリ処理を最適化
Balance Load and Performance ・・クエリとロードパフォーマンスをバランスよく最適化

今回は「Balance Load and Performance」を選択します。

K-Safety

K-Safetyを選択します。
K-Safetyはデータを保護するための冗長化レベルを意味しますが、Verticaクラスタが最低でも3台以上のノードで構成されている必要があります。シングル構成の場合には冗長性を持たせる事ができません。
今回はシングル構成のため「0(ゼロ)」を選択します。

Analyze Correlations Mode

Database Designerがデザインする際に、列の相関を処理する方法を指定します。
Database Designerは指定したモードに応じて列の相関を分析、または既存の相関を再分析し、それらを考慮してデータベースデザインを作成します。
今回は「Analyze all」を選択します。

最後に画面右下にある「Save」ボタンをクリックします。

Tablesタブ

ここでは、プロジェクション作成の対象となるテーブルを追加します。

画面下部にあるタブの「Tables」を選択し、画面右下にある「Add Tables」をクリックします。
Vertica Management Console - Database Designer_2015-11-16_19-08-33

表示されたポップアップ・ウィンドウから、プロジェクション作成の対象となるテーブルを選択します。選択したら「Save」をクリックします。
Vertica Management Console - Database Designer_2015-11-16_19-08-47

選択したテーブルがリストに追加されたことを確認します。
Vertica Management Console - Database Designer_2015-11-16_19-09-03

Queriesタブ

ここでは、データベースデザインにクエリを読み込ませる事ができます。
「Comprehensive」モードでは、クエリを読み込ませる事で最適化スーパープロジェクションの他に補助的なクエリスペシフィックプロジェクションが作成されます。この設定は必須ではありませんのでスキップしても構いません。
クエリを読み込ませない場合は、テーブルデータの元に最適化されます。

Vertica Management Console - Database Designer_2015-11-17_16-49-45

クエリを読み込ませるには以下の2通りの方法があります。
・SQLを記述したテキストファイルを読み込ませる方法
・Verticaサーバ上で過去に実行されたことのあるSQLの履歴を読み込ませる方法

SQLを記述したファイルを読み込ませるには、画面左下にある「Upload From File」をクリックします。
過去に実行されたことのあるSQLの履歴を読み込ませるには、画面右下にある「Query Repository」をクリックします。
「Query Repository」をクリックすると、以下のような画面が表示されます。
Vertica Management Console - Database Designer_2015-11-16_19-18-12

画面右上にあるプルダウンメニューから、「Most recent(実行された順)」、「Most frequently executed(頻繁に実行された順)」、「Longest running(処理時間の長い順)」を選択することで、目的のクエリを素早く見つけることができます。
リストに表示されたクエリの中から目的のクエリを見つけたらチェックボックスにチェックを入れます。選択が完了したら「Save」ボタンをクリックします。
Vertica Management Console - Database Designer_2015-11-16_19-10-56

読み込ませたクエリが以下の画面のようにリストされます。
Vertica Management Console - Database Designer_2015-11-16_19-11-01

Outputタブ

ここでは、設定する項目がないためスキップします。
Vertica Management Console - Database Designer_2015-11-16_19-11-08

Event Historyタブ

ここには、Database Designerを作成する際のイベントログが表示されます。設定する項目はありません。
Vertica Management Console - Database Designer_2015-11-16_19-11-19

データベースデザインのビルド

ここまで設定した内容を元にデータベースデザインを作成します。
画面左上にある「Build Design」ボタンをクリックすると、以下のようなポップアップ画面が表示されます。
Vertica Management Console - Database Designer_2015-11-16_19-12-44

Analyze Statistics・・・チェックを入れると、Database Designerの実行時に統計情報を収集します。
Deploy Immediately・・・チェックを入れると、収集した統計情報をすぐにデプロイします。

今回は両方にチェックを入れて、最後に「Start」ボタンをクリックします。

Event Historyタブの画面に、Database Designer実行時のイベントログが表示されます。
進捗状況はリストの上部にあるプログレスバーに表示されます。
Vertica Management Console - Database Designer_2015-11-16_19-13-20

Database Designer実行が終わるとプログレスバーがあった場所に「Design Deployed」と表示されます。
Vertica Management Console - Database Designer_2015-11-16_19-25-46


以上でMCを利用したDatabase Designerの実行手順は完了です。