はじめに

本稿では、データベースを作成してから運用を開始するまでの必須作業について、解説します。

データベースの作成から運用開始までの必須作業

Verticaのパフォーマンスを発揮させるために「手順3. サンプルデータのロード」,「手順4. 最適化の実施」は忘れずに実行してください。

作業フロー

作業手順

【手順1.】 データベースの作成
Verticaをインストール後、まずはデータベースを作成します。

【手順2.】 スキーマ/テーブルの作成
スキーマおよびテーブルを作成します。

【手順3.】 サンプルデータのロード
作成したテーブルにデータをロードします。
手順4の最適化はデータのカーディナリティ等を加味するため、少量のデータ(1ヶ月分など)ではなく、一定量のデータ(1年分など)をロードします。ただし、実際のデータサイズに近いほど最適化の精度は向上するため、システムのカットオーバー前等で時間に余裕がある場合は、全件ロードを推奨します。

【手順4.】 最適化の実施
プロジェクション最適化を実施します。
最適化はスキーマ単位で行います。一度最適化を実施すれば、以降は新たにデータをロードしてもデータ構造は常に最適化された状態が保たれるようになるため、ロードする度に最適化する必要はありません。

【手順5.】 全件のデータをロード
上記、手順3で全件ロードしていない場合は、残りのデータをロードします。

手順5までは運用開始までに必ず実施する手順です。手順4のプロジェクションの最適化を実施しなくてもデータの検索は行えますが、Verticaの性能を十分に発揮できていない状態ですので、必ず実施してください。以降の手順は必須ではありませんが、必要に応じて実施します。

【手順6.】 Database Designerでクエリスペシフィックプロジェクションを作成
通常は、手順4の最適化で十分なパフォーマンスを発揮することができますが、もし許容できない遅いクエリが存在する場合は、Database Designerを使用してクエリスペシフィックプロジェクションを作成します。

【手順7.】 手動でクエリスペシフィックプロジェクションを作成
手順6のクエリスペシフィックプロジェクションの作成でも、パフォーマンスが改善しない場合は、クエリが複雑すぎる等の原因で、Database Designerが最適なプロジェクションを作成できていない可能性があります。
この場合は、ボトルネックポイントを調査し、手動で最適なクエリスペシフィックプロジェクションを作成します。

なお、全体的にパフォーマンスに満足いかない場合は、ハードウェアのスペックが処理内容に対して十分ではない可能性があります。その場合は、スケールアウトによるパフォーマンス改善を検討してください。

参考情報

プロジェクション最適化に関するまとめ記事
http://vertica-tech.ashisuto.co.jp/optimize-projection/

検証バージョンについて

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

更新履歴

2020/05/07 本記事を公開