目次
はじめに
本記事では、Vertica 9.1から使用可能になったデータベースモードの1つであるEonモードの概要についてご紹介します。ワークロードの制御に優れており、ワークロード間の相互影響を排除したい場合などに有効な機能です。
Eonモードの概要
Eonモードはデータベースのストレージレイヤーと計算プロセスを分離する点に最大の特徴があります。これらを分離することにより、データを単一の場所(AWSのS3)に保存し、ワークロード量に応じて計算ノードの数を柔軟に変更することが可能となります。

※こちらの図はAWSをベースに記載しています。
なお、Eonモードの構成は非常に容易に行うことができます。詳細は以下のマニュアルをご覧ください。
Using Eon Mode
Eonモードアーキテクチャ
Eonモードは、AWSのEC2インスタンスとS3(共有ストレージ)を使用して構成します。EC2インスタンスが計算プロセスを、S3がストレージレイヤーを担います。
それぞれに次のような特徴があります。
ストレージレイヤー(S3)
すべてのデータとカタログ(メタデータ)がS3上に保存されます。保存されたデータはシャードと呼ばれる単位に分割され、計算ノードから読み取りが行われます。
(シャードの数はデータベース作成時に設定します)
計算ノード(EC2インスタンス)
計算ノードは、すべてのデータ処理と計算を担当し、各ノードがS3に保存された1つ以上のシャードをサブスクライブします。S3から読み取られたデータ(カタログを含む)は、デポと呼ばれるコンポーネント(EC2インスタンス上のローカルディスク)に保持されます。
また、データベースにロードされたデータも一時的にデポに保存され、順次S3への書き込みが行われます。
一般的にS3の読み取り、書き込みはローカルディスクに比べ低速であるため、デポがキャッシュの役割を果たしデータベースの高いパフォーマンスを提供します。

分離構成によるメリット
次のようなメリットがあります。
-データが一ヶ所にまとまっていることで、柔軟な計算ノードの拡張が可能である。
また、計算ノードを増減した際もディスク上のデータリバランスが不要である。
-S3の高い耐久性(99.999999999%)により、ストレージ障害によるデータ損失の影響を受けにくい。
-Enterpriseモードのように計算ノードのローカルディスク容量によるデータ保存量の制限を受けない(*)
(*)ライセンスで許可されているデータ容量が上限
また、計算ノードを増減した際もディスク上のデータリバランスが不要である。
-S3の高い耐久性(99.999999999%)により、ストレージ障害によるデータ損失の影響を受けにくい。
-Enterpriseモードのように計算ノードのローカルディスク容量によるデータ保存量の制限を受けない(*)
(*)ライセンスで許可されているデータ容量が上限
Eonモードの活用方法
次に紹介するような活用方法が考えられます。高速スケーリング
データベースの高速なスケーリングを行うことができます。以下の例ではノード数4、シャード数8の状態から、さらに4ノードを追加することで、各計算ノードがサブスクライブするシャード数が1となり、処理の高速化に期待できます。

サブクラスタの構成
Verticaのフォールトグループ機能を利用し、サブクラスタを構成することができます。サブクラスタを構成することで、ワークロードを完全に分離することが可能となり、処理競合やリソースの枯渇といった事象の抑止に期待できます。

たとえば、次のようなワークロードの分離が考えられます。
-データ検索処理とデータロード処理の分離
-定型クエリとアドホッククエリ(データサイエンスなど)の分離
サブクラスタを複数構成することも可能なため、上記以外にもシステムのワークロードにあわせた柔軟な構成を取ることが可能です。
Eonモードを構成できる環境
Eonモードを構成できる環境は以下の通りです。分類 | 利用可能な環境 |
---|---|
クラウド環境 | 以下のいずれかを利用 ・AWS ・GCP ・Azure |
オンプレミス環境 | 以下のいずれかを利用 ・PureStorage ・MinIO ・HDFS |
注意点
Eonモードには以下のような注意点があります。・データベース作成後にデータベースモード(Eonモード→Enterpriseモード)の変更は不可
・S3からの読み取りは低速であるため、データベース起動直後は良く使われるテーブルのウォームアップ(デポ上にデータをキャッシュ)が必要となる
検証バージョンについて
この記事の内容はVertica 11.0で確認しています。更新履歴
2022/01/21 バージョン11.0の情報に基づき、「Eonモードを構成できる環境」を追加、「注意点」を修正2019/12/26 カテゴリを修正
2019/08/16 本記事を公開
- 投稿タグ
- Eon, Eonモード, Enterprise, Enterpriseモード, データベースモード