はじめに

Verticaの特徴として、スケールアウトが容易にできるという点があります。
導入当初は1台構成で使い始め、将来的に業務規模が大きくなった際にスケールアウトによる拡張をしていくといった使い方ができます。
スモールスタートをご検討中の方に、将来のスケールアウト時に想定外のトラブルを招かないためのTipsをご紹介します。
今回は、単一ノードから複数ノードに拡張するケースについて記載します。

初期セットアップ時の注意点

初期段階では1台構成で使い始めて、将来的にスケールアウトで拡張していこうという場合、初期段階のセットアップ時の方法に注意が必要です。

Verticaのセットアップ時には、ホスト名またはIPアドレスを指定する箇所があります。
例え1台構成であっても、その指定は必須項目です。
仮にその指定箇所に”localhost”と設定した場合は、スケールアウトする事ができません。
厳密にはスケールアウトする事はできますが、Verticaの再インストールが必要です。
そのため、将来的な拡張を予定されている場合は、必ずホスト名またはIPアドレスを指定してください。


Verticaインターコネクト用のネットワーク

Verticaを複数台で構成する際、インターコネクト用のネットワークが必須です。
そのネットワークの帯域は、10Gbps以上の帯域を推奨しています(1Gbpsでも可)。
そのため、10Gbpsまたは1Gbpsのネットワークインタフェース数に余裕があるサーバを選定すると良いでしょう。同様にネットワークスイッチ側のポート数の空き状況にも余裕がある事が望ましいです。

なお、上述した「Verticaのセットアップ時に指定するホスト名またはIPアドレス」はVerticaインターコネクト用の通信に使われます。以下の例だと、192.168.0.10がインターコネクト用の通信に使われます。


そのため、将来のスケールアウトが確実な場合には、10Gbpsまたは1Gbpsのネットワークアドレスを初期段階のセットアップで指定しておくと、スケールアウト作業がシンプルに行えます。


スケールアウト時のデータベースの停止の有無

1台構成の状態から複数台構成にスケールアウトする際、データベースの停止が発生します。
※既に複数台で構成されたクラスタにノードを追加する場合はデータベースの停止は発生しません。


データのセグメント化とデータの冗長化

既存のデータベースが単一ノードで構成されている場合、データのセグメント化(分散化)はされていません。
そのため、スケールアウトした後にはデータをセグメント化し、データの冗長化をするために、Database Designerを使った最適化の作業を行う必要があります。

Database Designerを使った最適化の方法については、こちらをご参照ください。
admintoolsを利用したDatabase Designerの実行手順

データのセグメントと冗長化についてはこちらをご参照ください。
セグメンテーションとレプリケーションの概要
Verticaの可用性機能
プロジェクションの概要


Management Consoleでできること

Management Consoleを使って、データベースにスタンバイノードを追加する事はできます。
しかし、Management Consoleを使って、クラスタにノードを追加する事はできません。

検証バージョンについて

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

更新履歴

2019/3/28 「検証バージョンについて」を変更
2016/3/16 本記事を公開