目次
はじめに
Verticaの特徴として、スケールアウトが容易にできるという点があります。導入当初は1台構成で使い始め、将来的に業務規模が大きくなった際にスケールアウトによる拡張をしていくといった使い方ができます。
スモールスタートをご検討中の方に、将来のスケールアウト時に想定外のトラブルを招かないためのTipsをご紹介します。
今回は、単一ノードから複数ノードに拡張するケースについて記載します。
初期セットアップ時の注意点
初期段階では1台構成で使い始めて、将来的にスケールアウトで拡張していこうという場合、初期段階のセットアップ時の方法に注意が必要です。Verticaのセットアップ時には、ホスト名またはIPアドレスを指定する箇所があります。
例え1台構成であっても、その指定は必須項目です。
仮にその指定箇所に”localhost”と設定した場合は、スケールアウトする事ができません。
厳密にはスケールアウトする事はできますが、Verticaの再インストールが必要です。
そのため、将来的な拡張を予定されている場合は、必ずホスト名またはIPアドレスを指定してください。
1 2 |
悪い例:/opt/vertica/sbin/install_vertica --hosts localhost 良い例: /opt/vertica/sbin/install_vertica --hosts 192.168.0.10 |
Verticaインターコネクト用のネットワーク
Verticaを複数台で構成する際、インターコネクト用のネットワークが必須です。そのネットワークの帯域は、10Gbps以上の帯域を推奨しています(1Gbpsでも可)。
そのため、10Gbpsまたは1Gbpsのネットワークインタフェース数に余裕があるサーバを選定すると良いでしょう。同様にネットワークスイッチ側のポート数の空き状況にも余裕がある事が望ましいです。
なお、上述した「Verticaのセットアップ時に指定するホスト名またはIPアドレス」はVerticaインターコネクト用の通信に使われます。以下の例だと、192.168.0.10がインターコネクト用の通信に使われます。
1 |
/opt/vertica/sbin/install_vertica --hosts 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 本記事を公開