概要

今回は、Management Consoleの活用方法の例として、Database Designerの使い方をご紹介します。

※Database Designerの略称は、DBDです。

Database Designerとは?

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

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

プロジェクションの概要


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

admintools:CUIベースで実行する方法。実行はスキーマ単位です。
Management Console:GUIベースで実行する方法。実行はテーブル単位です。

本記事では、Management Consoleを利用したDatabase Designerの実行手順をご紹介します。
admintoolsを利用する方法は、以下の記事をご参照ください。

admintoolsを利用したDatabase Designerの実行手順


Management Consoleを使ったDatabase Designerの実行手順

Management Consoleを利用したDatabase Designerの実行手順をご紹介します。

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

Database Designerの実行

画面下段にあるメニューから「Design」を選択します。


Database Designerを一度も作成していない環境の場合、以下の画面が表示されます。


ここでは「Wizard」か「Manual」を選択して先に進みます。今回はデータベースデザインの名前を「DB1」と入力し、「Manual」を選択します。

Wizard:ガイドラインに従って簡単に操作できます。
Manual:プロジェクション作成の対象テーブルを個別に指定できるなどの細やかなデータベースデザインを設定できます。

「Wizard」を使った場合の手順は、以下の記事をご参照ください。

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


「Manual」を選択後、以下の画面が表示されます。


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

Generalタブ

Database Designerの一般的な設定を行います。



Design Type

デザインタイプを選択します。

Comprehensive:データベース全体に対してDatabase Designerを実行します。
Incremental:SQL単位でDatabase Designerを実行します。

今回はデータベース全体に実施する「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ノード以上で構成されている必要があります。1ノード構成の場合には冗長性を持たせる事ができないため、「0(ゼロ)」のみ選択できます。詳細はマニュアルを参照ください。

今回は3ノード構成のため「1」を選択します。

Propose Unsegmented Projections

Database Designerがデザインする際に、レプリケーションを考慮すべきか選択します。1ノード構成の場合は、レプリケーションしか作成できないため、本メニューは表示されません。

ON:レプリケーションとセグメンテーションのプロジェクションを作成します。
OFF:セグメンテーションのみのプロジェクションを作成します。

今回はチェックボックスを「ON」に選択します。


Analyze Correlations Mode

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

Ignore:デザインを作成する時に、テーブル内のすべて列の相関関係を無視します。
Consider existing:デザインを作成する時に、テーブル内の既存の相関関係を考慮します。既存の相関関係がない場合は、データベースデザイナーは相関関係を考慮しません。
Analyze missing:以前に相関分析が実行されなかったテーブルの列相関を分析します。デザインを作成する時は、すべての列の相関関係(新規および既存)を考慮します。
Analyze all:デザインを作成する時に、テーブル内のすべての列の相関関係を分析して考慮します。テーブルに相関関係が存在する場合でも、テーブルを再分析します。

今回は「Ignore」を選択します。
最後に画面右下にある「Save」ボタンをクリックします。

Tablesタブ

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

画面下部にあるタブの「Tables」を選択し、画面右下にある「Add Tables」をクリックします。


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


選択したテーブルがリストに追加されたことを確認します。


Queriesタブ

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

SQLを記述したファイルを読み込ませるには、画面左下にある「Upload」をクリックします。
過去に実行されたことのあるSQLの履歴を読み込ませるには、画面右下にある「Query Repository」をクリックします。


今回は「Query Repository」をクリックします。

Upload From File:SQLを記述したテキストファイルを読み込ませる方法です。
Query Repository:Verticaサーバ上で過去に実行されたことのあるSQLの履歴を読み込ませる方法です。

以下の画面が表示されます。


画面右上にあるプルダウンメニューから、「Most recent(実行された順)」、「Most frequently executed(頻繁に実行された順)」、「Longest running(処理時間の長い順)」を選択することで、目的のクエリを素早く見つけることができます。


リストに表示されたクエリの中から目的のクエリにチェックを入れて、「Save」ボタンをクリックします。


読み込ませたクエリが以下の画面のようにリストされます。



Outputタブ

設定する項目がないためスキップします。



Event Historyタブ

Database Designerを作成する際のイベントログが表示されます。設定する項目はありません。



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

ここまで設定した内容を元にデータベースデザインを作成します。
画面左上にある「Build Design」ボタンをクリックします。


以下のポップアップ画面が表示されます。


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

Analyze Statistics:Database Designerの実行時に統計情報を収集します。
Deploy Immediately:収集した統計情報をすぐにデプロイします。

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


Database Designer実行の完了後は、「Deployment In progress: Deployment completed successfully」と表示されます。





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

検証バージョンについて

この記事の内容はVertica 11.0で確認しています。

更新履歴

2021/10/29 11.0用に画面を更新、
 MC⇒Management Console に統一、
 設定値の体裁を丸枠に統一、
 別記事へのリンク方法を統一、
 誤植を修正
2017/03/23 画面の差し替え
2015/12/14 本記事を公開